如何在ASP.NET页面中嵌入WINFORM控件三

前两篇文章讲述了如何在ASP.NET页面中嵌入WINFORM控件,并且通过第二篇我们了解到有些情况下,只有本地网络或将访问的网站添加到信任 站点才可以正确的访问该控件。其实有时候会更复杂,我们还需要调整.NET程序集的权限,本篇就是一个具体的例子。该例子会通过WINFORM控件在本地 磁盘中写入文件。

一 打开前两篇创建的项目,并添加WINFORM用户控件IoTest,代码如下:

  1. using System.IO;  
  2. namespace Liuw.Net.WindowsControlLibrary  
  3. {  
  4.     public partial class IoTest : UserControl  
  5.     {  
  6.         public IoTest()  
  7.         {  
  8.             InitializeComponent();  
  9.         }  
  10.    
  11.         public void Write(string path)  
  12.         {  
  13.             File.WriteAllText(path, "welcome to www.liuwu.net ");  
  14.         }  
  15.     }  
  16. }  


功能很简单,仅提供一个公共的Write方法,向指定的文件写入信息。

二 编译该项目,并将Liuw.Net.WindowsControlLibrary.dll拷贝到WebSite所在目录


三 添加IoTest.aspx页面,并添加以下代码

  1. <mce:script type="text/javascript"><!--  
  2.     function Write()  
  3.     {  
  4.         var obj = document.getElementById('ctl');  
  5.         obj.Write("D:/Test.txt");  
  6.     }  
  7. // --></mce:script>  
  8. <input type="button" value="Write" onclick="Write()" />  
  9. <object id="ctl"  classid="Liuw.Net.WindowsControlLibrary.dll#Liuw.Net.WindowsControlLibrary.IoTest"></object>  
 

可以看出我们是在D盘写入Test.txt文件。

 四 访问该页面,我们会得到脚本错误

请求“System.Security.Permissions.FileIOPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”类型的权限已失败。

其实不用紧张,这说明该网站没有执行指定程序集的权限,那该如何做呢,下面就来配置相关权限。

五 打开“管理工具”/ “Microsoft .NET Framework 2.0 配置”


六 展开“运行库安全策略”,并点击右边的“调整区域安全性”  

七 选择下一步,并将 "本地Intranet "设为完全信任


 

因笔者测试的地址用的是localhost,如果你已将网站添加的信任网站,则调整信任网站为完全信任。

八 重新启动IE,就可以了。


注意:该配置工具只有装了SDK以后才会有,所以为了有更强的操作性,我们必须寻找其他设置权限的途径,以后的章节会针对该问题进行讨论。

前篇:

如何在ASP.NET页面中嵌入WINFORM控件一

如何在ASP.NET页面中嵌入WINFORM控件二

posted on 2009-10-19 11:37  刘武  阅读(508)  评论(0编辑  收藏  举报

导航