|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?注册
x
<br> <b>调试Windows窗体控件</b><br> 要调试窗体控件,你需要按照下面步骤进行。<br> <br> 1.打开浏览器并请求包含窗体控件的那个Html页面。<br> <br> 2.打开visual Studio.Net同时选择工具->调试进程就会显示下面的对话框。<br> <center> <img src=/bbs/attachments/computer/20081214/2008121411184735977801.gif></center><br> 在这个进程对话框中,选择IEXPLORE.EXE 点击附加按钮。当你点击附加按钮时会跳出一个对话框提示你选择要调试的程序类型。我们选择了Common Language Runtime 和Script两项,如下图:<br> <center> <img src=/bbs/attachments/computer/20081214/2008121411184742177802.gif></center><br> 确定关闭上面的窗口和进程窗口。<br> <center> <img src=/bbs/attachments/computer/20081214/2008121411184746877803.gif></center><br> 通过Vs.net的文件菜单打开用户控件文件 AuthorsWebServiceClient.cs,在源代码中设置断点。这样一旦你设置断点,你就可以调试该控件了,如下图所示。<br> <br> <b>Windows窗体代码访问权限</b><br> 就象我们以前讨论的一样。当窗体控件在IE中执行时,他使用由.NET运行时提供的权限。要弄清楚控件怎样使用由.NET运行时提供的代码访问安全来在IE中运行,让我们回到前面,在窗体控件Load事件中加入下面的代码:<br> <br> private void AuthorsControl_Load(object sender, System.EventArgs e)<br> <br> {<br> <br> if (!EventLog.SourceExists("TestSource"))<br> <br> EventLog.CreateEventSource("TestSource", "TestLog");<br> <br> else<br> <br> {<br> <br> EventLog.DeleteEventSource("TestSource");<br> <br> EventLog.CreateEventSource("TestSource", "TestLog");<br> <br> } <br> <br> }<br> <br> 在上面的代码中我们判断web服务器上是否存在”TestLog”的日志源,如果不存在我们就创建他,如果存在就删除重建。就象你预料的一样,执行这些代码需要有更多的权限,所以上面的代码通过Internet该用户控件将不会正常工作,你将会看到如下的提示窗口。<br> <center> <img src=/bbs/attachments/computer/20081214/2008121411184751577804.gif></center><br> 通过上面窗口我们可以清楚的看到你的访问被.NET运行时所限制。<br> <br> 在IE中使用窗体控件时,你需要意识到他的优点和局限。主要的优点包括:<br> <br> 1.通过Web实现丰富的动态界面。<br> <br> 2.无缝结合.NET的代码安全策略。<br> <br> 3.优于Java applets的表现。<br> <br> 限制包括:<br> <br> 1.客户端需要是Windows操作系统<br> <br> 2.需要IE6.0的支持<br> <br> 3.客户端需要安装.NET运行时环境<br> <br> 4.服务器端需要是Window2000和IIS5.0或者更高版本<br> <br> 由于上面的限制,对客户端和服务器端数据的传输这也许也是有利的。比如说由于让Windows窗体控件在客户端IE中使用需要客户端安装有.NET runtime,我们可以写一些代码来判断客户机是否安装有.NET runtime,通过这一特征我们可以获得版本号,否则会得到0.0。<br> <br> <b>结论</b><br> 在这篇文章中,我们讨论了怎样在IE中使用浏览窗体控件以及在进程中进行调试。同时也讲到了在IE中的.NET代码访问安全控制。 < |
|