none
求救:毛里求斯客户电脑ChildWindow只能显示标题栏,无法显示内容部分 RRS feed

  • 问题

  • 最近,开发的B2B系统碰到头痛的问题,尝试了各种方法,都没能解决。
    1、我们开发的印刷企业B2B系统,主要应用SilverLight Business Application+WCFRiaService+EntityFrameWork开发。与NiceLabel WebSDK结合,提供从下单、产品预览、产品管理、订单管理、生产打印的平台给客户。
    2、目前网站已开始提供给客户使用,在美国、孟加拉、日本、台湾等国家均能正常访问。唯一现在是毛里求斯的客户。如【不正常登录画面】所示,ChildWindow只能显示标题栏,无法显示内容部分。
    a) 通过Fidder监测http请求显示。所有的服务都访问正常。
    b) 通过ProcessMonitor调试,发现AgControl.AgControl权限正常。
    c) 根据建议也设置了页面的MinHeight、MinWidth。

    不正常情况

    <ignore_js_op></ignore_js_op>

    正常登录画面

    2012年6月26日 12:10

全部回复

  • 会不会是控件长宽高设错了,或者是前台页面的Grid,panel没看清楚让控件重叠了
    2012年6月27日 5:38
  • 好奇怪的问题

    集思广益,我来提些不可能的可能:

    1:那个毛国的电脑都这样吗?先要排除它的浏览器有什么插件造成不正常

    2:会不会它的浏览器版本比较高, 我的ie9碰到过不更新的情况,现在看到的可能是缓存里的xap  , ?  可能那个缓存里的xap有错

    3:你的form是自动大小的, 而因为字库不对尺寸变得很小。我们一个装了精简版的xp就有部分字库有问题的-----  这个可能性最大  :)

    4:重装他的silverlight


    • 已编辑 升宝 2012年6月27日 9:44
    2012年6月27日 9:42
  • 谢谢各位帮忙。

    实际上,为解决以下毛里求斯客户的问题,我们已经花了差不多一个月的时间:

    1)因我们程序使用了【通过使用应用程序缓存减少XAP大小】,以提高用户访问速度。故我们首先是尽量减少客户端需要下载的程序包的大小。因之前我们统计 客户第1次登录系统时,下载程序包的大小为12MB左右。但发现有一些不需要的组件压缩包的大小已达5.99MB,占了差不多50%故我们目前下载量已减少至6MB左右。

    以下为通过Fiddler工具监测所有http访问及下载的结果。

    2) 尝试过重装SilverLight 4,大概应该有10次。这个用户的SilverLight 4安装目录被默认改成了为D:\Program files下。

    但是,从目前情况来看,已基本排除SilverLight安装的问题,因为,此用户电脑访问我们网站时,在首页中的文字是可以正常显示出来的。而且,访问不是用Business Application构建的网站,也没有任何问题。

    3) 也怀疑过是客户的avira杀毒软件屏蔽了我们的的网站,但是,经过尝试删除,也基本排除了这种可能。

    2012年6月28日 1:23
  • 谢谢回复。长、宽、高是没有问题的,因为在其他国家显示都没有问题。

    <controls:ChildWindow
        xmlns:controls="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:toolkit="http://schemas.microsoft.com/winfx/2006/xaml/presentation/toolkit"
        xmlns:local="clr-namespace:Charming.B2B.Orders.Controls"
        xmlns:login="clr-namespace:Charming.B2B.Orders.LoginUI"
        x:Class="Charming.B2B.Orders.LoginUI.LoginForm"
        KeyDown="LoginForm_KeyDown"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        mc:Ignorable="d"
        d:DataContext="{d:DesignInstance Type=login:LoginInfo}"
        Height="320"
        Width="400"
        MinHeight="320"
        MinWidth="400">
        <Grid Background="#dfe8f6">
            <Grid.RowDefinitions>
                <RowDefinition Height="50"/>
                <RowDefinition Height="Auto"/>
                <RowDefinition Height="Auto"/>
                <RowDefinition Height="30"/>
            </Grid.RowDefinitions>
            
            <!--xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
            mc:Ignorable="d"
            -->

            <Grid x:Name="Sign_In" Grid.Row="0" Grid.ColumnSpan="1" Grid.RowSpan="1" d:IsLayer="True">
                <TextBlock HorizontalAlignment="Left" Width="200" Height="27.778" FontFamily="Arial" FontSize="14" FontWeight="Bold" Margin="0,11"><Run Text="Web Order Platform "/><LineBreak/><Run/></TextBlock>
            </Grid>

            <Grid Grid.Row="1">
                <Grid.Resources>
                   
                </Grid.Resources>
                <Grid.RowDefinitions>
                    <RowDefinition Height="18"/>
                    <RowDefinition Height="18"/>
                    <RowDefinition Height="35"/>
                </Grid.RowDefinitions>
                <TextBlock Grid.Row="0" FontFamily="Arial" FontSize="12" Text="Welcome to our Web Order Platform. Please enter your User Name," />
                <TextBlock Grid.Row="1" FontFamily="Arial" FontSize="12" Text="Password and select the desired Program to sign on." />
                <Grid Grid.Row="2">
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="Auto"></ColumnDefinition>
                        <ColumnDefinition Width="Auto"></ColumnDefinition>
                        <ColumnDefinition Width="Auto"></ColumnDefinition>
                    </Grid.ColumnDefinitions>
                    <!--<TextBlock Grid.Column="0"  FontFamily="Arial" FontSize="12" Text="If you don't have an account, please register first." />-->              
                </Grid>
               
            </Grid>


            <StackPanel Grid.Row="3" Grid.Column="1" Orientation="Horizontal" HorizontalAlignment="Right" Margin="0,0,10,0">
                <Button x:Name="loginButton" Content="{Binding Path=Strings.OKButton, Source={StaticResource ApplicationResources}}" Click="LoginButton_Click" Style="{StaticResource RegisterLoginButtonStyle}" IsEnabled="{Binding Path=CanLogIn}" />
                <Button x:Name="loginCancel" Content="{Binding Path=Strings.CancelButton, Source={StaticResource ApplicationResources}}" Click="CancelButton_Click" Style="{StaticResource RegisterLoginButtonStyle}" />
            </StackPanel>

            <!--<StackPanel Grid.Row="4" Grid.Column="0" Style="{StaticResource RegisterLoginLinkPanelStyle}">
                <TextBlock Text="{Binding Path=Strings.NotRegisteredYetLabel, Source={StaticResource ApplicationResources}}" Style="{StaticResource CommentStyle}"/>
                <HyperlinkButton x:Name="registerNow" Content="{Binding Path=Strings.RegisterNowButton, Source={StaticResource ApplicationResources}}" Click="RegisterNow_Click" IsEnabled="{Binding IsLoggingIn, Converter={StaticResource NotOperatorValueConverter}}" />
            </StackPanel>-->

            <!--Style="{StaticResource LoginDataFormStyle}"-->

            <local:BusyIndicator Grid.Row="2" x:Name="busyIndicator" BusyContent="{Binding Path=Strings.BusyIndicatorLoggingIn, Source={StaticResource ApplicationResources}}"
                                 IsBusy="{Binding IsLoggingIn}">
                <StackPanel Orientation="Vertical">
                    <toolkit:DataForm x:Name="loginForm"
                                      Padding="10,0,10,0"
                                      CurrentItem="{Binding}"
                                      IsEnabled="{Binding IsLoggingIn, Converter={StaticResource NotOperatorValueConverter}}"
                                      AutoEdit="True" CommandButtonsVisibility="None" HeaderVisibility="Collapsed"
                                      AutoGeneratingField="LoginForm_AutoGeneratingField"
                                      Style="{StaticResource LoginDataFormStyle}"
                                      />
                </StackPanel>
            </local:BusyIndicator>
        </Grid>
    </controls:ChildWindow>

    2012年6月28日 2:04
  •  <Style x:Key="PageStyle" TargetType="navigation:Page">
            <Setter Property="FontFamily" Value="Arial"></Setter>
            <Setter Property="FontSize" Value="12"></Setter>
        </Style>

        <Style x:Key="UserControlPageStyle" TargetType="UserControl">
            <Setter Property="FontFamily" Value="Arial"></Setter>
            <Setter Property="FontSize" Value="12"></Setter>
        </Style>

        <Style x:Key="ChildWindowStyle" TargetType="controls:ChildWindow">
            <Setter Property="FontFamily" Value="Arial"></Setter>
            <Setter Property="FontSize" Value="12"></Setter>
        </Style>

    2012年6月28日 2:08
  • 您好,

    1. 请问是否有试过删除用户浏览器缓存,使客户端重新下载xap文件。

    2. 换一个浏览器访问一下,排除是否是浏览器的问题。

    3. 上传一个简单的程序,只包含一个按钮打开一个ChildWindow。看一下这种情况下ChildWindow大小是否正常。

    2012年6月28日 2:13
  • 你好,谢谢回复。关于1、2、3点都反复尝试过。

    1. 缓存肯定是尝试过清除,清除后,系统会重新下载相关的文件。XAP文件已经下载下来,否则,ChildWindow也不会显示出来。

    2. 浏览器试过IE、Firefox、Google Chrome,显示结果一样。因为所有浏览器的内核,还是IE。

    3.简单的程序也尝试过,客户端显示OK的。之前测试时,发现如果用Business Application框架就不能登录,画面显示100%后,会无法弹出登录窗口。

    2012年7月3日 1:55
  • 你好,

    这个应该是SL的Bug,和毛里求斯无关,我的一个项目也经常遇到这个问题。我的做法是 清理下项目,再生成就没问题了。找不到具体原因。

    2012年7月19日 3:10
  • 我的项目就是普通的SL项目,非Businiess Application。
    2012年7月19日 3:11
  • 谢谢您的回复。主要的原因是SilverLight business application模板的问题,我们使用普通应用程序模板,并对程序重新构建后,目前已解决以上问题。
    2012年10月29日 9:57