调试Windows窗体控件 要调试窗体控件你需要按照下面步骤进行 .打开浏览器并请求包含窗体控件的那个Html页面 .打开visual StudioNet同时选择工具->调试进程就会显示下面的对话框 educitycn/img_///gif>在这个进程对话框中选择IEXPLOREEXE 点击附加按钮当你点击附加按钮时会跳出一个对话框提示你选择要调试的程序类型我们选择了Common Language Runtime 和Script两项如下图 educitycn/img_///gif>确定关闭上面的窗口和进程窗口 educitycn/img_///gif>通过的文件菜单打开用户控件文件 AuthorsWebServiceClientcs在源代码中设置断点这样一旦你设置断点你就可以调试该控件了如下图所示 Windows窗体代码访问权限 就象我们以前讨论的一样当窗体控件在IE中执行时他使用由NET运行时提供的权限要弄清楚控件怎样使用由NET运行时提供的代码访问安全来在IE中运行让我们回到前面在窗体控件Load事件中加入下面的代码 private void AuthorsControl_Load(object sender SystemEventArgs e) { if (!EventLogSourceExists(TestSource)) EventLogCreateEventSource(TestSource TestLog); else { EventLogDeleteEventSource(TestSource); EventLogCreateEventSource(TestSource TestLog); } } 在上面的代码中我们判断web服务器上是否存在TestLog的日志源如果不存在我们就创建他如果存在就删除重建就象你预料的一样执行这些代码需要有更多的权限所以上面的代码通过Internet该用户控件将不会正常工作你将会看到如下的提示窗口 educitycn/img_///gif>通过上面窗口我们可以清楚的看到你的访问被NET运行时所限制 在IE中使用窗体控件时你需要意识到他的优点和局限主要的优点包括 .通过Web实现丰富的动态界面 .无缝结合NET的代码安全策略 .优于Java applets的表现 限制包括 .客户端需要是Windows操作系统 .需要IE的支持 .客户端需要安装NET运行时环境 .服务器端需要是Window和IIS或者更高版本 由于上面的限制对客户端和服务器端数据的传输这也许也是有利的比如说由于让Windows窗体控件在客户端IE中使用需要客户端安装有NET runtime我们可以写一些代码来判断客户机是否安装有NET runtime通过这一特征我们可以获得版本号否则会得到 结论 在这篇文章中我们讨论了怎样在IE中使用浏览窗体控件以及在进程中进行调试同时也讲到了在IE中的NET代码访问安全控制 |