在IE瀏覽器中使用Windows窗體控件(三)
作者::Thiru Thangarathinam
翻譯:秋楓
調試Windows窗體控件
要調試窗體控件,你需要按照下面步驟進行。
1.打開瀏覽器并請求包含窗體控件的那個Html頁面。
2.打開visual Studio.Net同時選擇工具->調試進程就會顯示下面的對話框。
在這個進程對話框中,選擇IEXPLORE.EXE 點擊附加按鈕。當你點擊附加按鈕時會跳出一個對話框提示你選擇要調試的程序類型。我們選擇了Common Language Runtime 和Script兩項,如下圖:
確定關閉上面的窗口和進程窗口。
通過Vs.net的文件菜單打開用戶控件文件 AuthorsWebServiceClient.cs,在源代碼中設置斷點。這樣一旦你設置斷點,你就可以調試該控件了,如下圖所示。
Windows窗體代碼訪問權限
就象我們以前討論的一樣。當窗體控件在IE中執行時,他使用由.NET運行時提供的權限。要弄清楚控件怎樣使用由.NET運行時提供的代碼訪問安全來在IE中運行,讓我們回到前面,在窗體控件Load事件中加入下面的代碼:
private void AuthorsControl_Load(object sender, System.EventArgs e)
{
if (!EventLog.SourceExists("TestSource"))
EventLog.CreateEventSource("TestSource", "TestLog");
else
{
EventLog.DeleteEventSource("TestSource");
EventLog.CreateEventSource("TestSource", "TestLog");
}
}
在上面的代碼中我們判斷web服務器上是否存在”TestLog”的日志源,如果不存在我們就創建他,如果存在就刪除重建。就象你預料的一樣,執行這些代碼需要有更多的權限,所以上面的代碼通過Internet該用戶控件將不會正常工作,你將會看到如下的提示窗口。
通過上面窗口我們可以清楚的看到你的訪問被.NET運行時所限制。
在IE中使用窗體控件時,你需要意識到他的優點和局限。主要的優點包括:
1.通過Web實現豐富的動態界面。
2.無縫結合.NET的代碼安全策略。
3.優于Java applets的表現。
限制包括:
1.客戶端需要是Windows操作系統
2.需要IE6.0的支持
3.客戶端需要安裝.NET運行時環境
4.服務器端需要是Window2000和IIS5.0或者更高版本
由于上面的限制,對客戶端和服務器端數據的傳輸這也許也是有利的。比如說由于讓Windows窗體控件在客戶端IE中使用需要客戶端安裝有.NET runtime,我們可以寫一些代碼來判斷客戶機是否安裝有.NET runtime,通過這一特征我們可以獲得版本號,否則會得到0.0。
結論
在這篇文章中,我們討論了怎樣在IE中使用瀏覽窗體控件以及在進程中進行調試。同時也講到了在IE中的.NET代碼訪問安全控制。
雖然這項技術的實現需要客戶端安裝.NET運行時,不過我們可以相信在以后的Windows操作系統中將會集成.NET framework,windows2003就是一個很好的例子。
最后,我希望你會發現這篇文章對你有所幫助,同時謝謝你的閱讀。
About the Author
Thiru has almost six years of experience in architecting, designing, developing and implementing applications using Object Oriented Application development methodologies. He also possesses a thorough understanding of software life cycle (design, development and testing).
He is an expert with ASP.NET, .NET Framework, Visual C#.NET, Visual Basic.NET, ADO.NET, XML Web Services and .NET Remoting and holds MCAD for .NET, MCSD and MCP certifications.
Thiru has authored numerous books and articles. He can be reached at thiruthangarathinam@yahoo.com.
|