1、客户端必须装:Microsoft .NET Framework2、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.com7 下一步,就是赋予此代码组有什么操作权限,其中,FullTrust是所有权限,这个权限集就是可以对此计算机拥有无限操作的权限,包括格式化硬盘,最好的办法是专门建立一个权限集,指定必要的操作权限即可。我们选择FullTrust。8 单击“完成”就结束了权限的操作。这样,来自于www.internat.com的所有程序,包括程序集,WinFrom 控件都具有此计算机所有的操作权限。可以不出现警告对话框了。

解决方案 »

  1.   

    这里C#论谈的人气,也真是太旺了,我昨天下午发的贴,没想到今天翻腾到第8页才找到.很高兴有那么多人用C#.
      说正事,我提的问题还是没解决呀,老大.
      由于是基于Windows.Forms.UserControl做的可视控件,虽能在工具栏上能加上控件,可是它是灰色的,在Web设计页面是根本加不进去的.
      我在项目中引用对象,在代码中是可以生成.是可以调用里边的方法,如对话框(需要指定MessageBoxOptions.DefaultDesktopOnly或MessageBoxOptions.ServiceNotification).
      可是,老大,我要的是它能"显示出一个可以交互的界面",该怎么加进去呢?
      还听说一种方法,重做一个COM,调用.NET的组件,较复杂,我还没试.谁知它能不能显示出界面.
      各位,各位,提供一个好的解决方案好吗?
       拜托了.谢谢.广大C#爱好者也会谢谢你的.
      
      

  2.   

    最好做成web控件,那样的话和Activex控件没区别了,在说它对客户端的要求太高,不可能
    客户端都安装.NET Framework
      

  3.   

    如果你装的够全的话,看看这个
    http://localhost/quickstart/winforms/doc/WinFormsIeSourcing.aspx
    我也遇到了之问题,找答案中.ing