>>>客户端在修改了Microsoft .NET Framework 1.1 向导中的调整.net的安全性的受信任站点>>>的安全级别后,就可以正常访问。>>>请问怎么才能在不需要客户修改安全级别的情况下,使用第一种方法也可以正常?that is a security issue, you have to grant it first, I think currently there is no other way

解决方案 »

  1.   

    1、客户端必须装:Microsoft .NET Framework
    2、usercontrol控件dll考到服务器目录
    3、对客户端要进行安全配置(引用:TomMax (笑望人生) )在 .net Framework栏目中这个问题好多人都关心,大家也没有什么好的解决办法。我这几天正好研究了一下,发现一个解决方法,可以消除WinForm控件不执行的毛病。但是有两个缺点,一是客户端必须安装DotNet运行库和MDAC数据库访问组件,二是必须进行手工设置,无法自动部署。这两个缺点导致了在Web Page中嵌入WinForm的方案只能使用在企业内部网中。以下是设置方法:
    问题已经解决。
    和以前的ActiveX控件一样,在Web Page内所有的控件在客户端运行必须要经过客户端的确认。区别就是ActiveX控件一经确认就获得了客户端所有的权限,而.net的控件客户端可以进行详细的权限设置。但是无论怎么样,都必须经过客户端的确认,否则无法运行。没办法把工作在服务器端做好。假设有如下工作。一个站点名称为www.interant.com网页中有一个控件,负责客户端打印,那么访问此网站的客户端必须做如下工作:
    1 安装.net运行库和MDAC数据库组件
    2 打开管理工具中的 Microsoft .Net Framework 1.1 配置
    3 选择“运行库安全策略”-->“企业”-->“代码组”-->“All_Code”
    4 在右边的窗口中单击“添加子代码组”
    5 出现对话框,输入新的子代码组名称和说明,如名称:XX企业,说明:XX企业代码运行
    6 下一步,选择此代码组程序的验证标准。
    验证标准可以有许多种选择,可以选择网站地址认证,强名称认证等。网站地址认证就是系统自动承认来自这个网站的代码,包括程序集、客户端控件等。如果使用强名称认证,那么必须把用sn工具建立的强名称文件中的“公钥”,给输入进去,并且程序集必须加入强名称认证。
    我们的例子最好使用url认证或者站点认证。我们使用URL认证。
    输入:http://www.internat.com
    7 下一步,就是赋予此代码组有什么操作权限,其中,FullTrust是所有权限,这个权限集就是可以对此计算机拥有无限操作的权限,包括格式化硬盘,最好的办法是专门建立一个权限集,指定必要的操作权限即可。我们选择FullTrust。
    8 单击“完成”就结束了权限的操作。这样,来自于www.internat.com的所有程序,包括程序集,WinFrom 控件都具有此计算机所有的操作权限。可以不出现警告对话框了。