建立Silverlight 5瀏覽器內受信應用

2022-03-22 17:18:06 字數 2035 閱讀 7077

在silverlight 4中受信應用已經被支援,受信應用簡單的說就是可以訪問一些本地受限資源的silverlight應用。在silverlight 4中受信應用必須是oob型別,即必須先安裝在本地,同時受信應用能訪問的資源也有限,例如只能訪問我的文件、我的等位置的檔案。而在silverlight 5中受信應用的功能做了很大的改進和增強:

可以看到,在silverlight 5中受信應用的許可權幾乎獲得了與桌面應用相當的許可權,在這裡,我將為大家介紹如何建立瀏覽器內的受信應用。以下示例將通過silverlight來監視本地的網路流量。

受信應用的建立與常規silverlight應用沒有差異,直接通過新建專案來建立:

要使應用受信任,必須修改專案的屬性,必須勾選「允許在瀏覽器外允許程式」,以及「在瀏覽器內執行時需要提公升的許可權」:

單擊瀏覽器外設定按鈕,進入以下設定介面,勾選「在瀏覽器之外執行時需要提公升的信任」,由於我們的應用只允許在瀏覽器內執行,所以可將「顯示安裝選單」的核取方塊去掉。這裡說明一下,由於受信應用在silverlight之前版本是和瀏覽器外執行繫結的,所以這裡我們可以看到,雖然現在不使用瀏覽器外執行方式,但也需要對oob進行設定,以此來獲取受信模式。

實現功能。我們將呼叫非託管的win32 api來實現本地網路流量的監視,在silverlight 5中,呼叫本地非託管函式的方式與.net下完全一致。具體請參照本文原始碼,**片段:

public static class win32api

else if (fi.fieldtype == typeof(byte))

}else}}

}}}}

return table;

}public static string asciitoutf8(byte asciibytes)

}return "";}}

測試,當在本地測試時,即訪問位址為localhost或127.0.0.1時,受信應用無需做任何設定即可執行,本示例執行結果如下:

接下來我們將說明如何部署受信應用,首先,要使受信應用在遠端客戶機上被訪問,必須對xap進行簽名。

接下來單擊「從儲存區選擇」按鈕,在彈出視窗中選擇剛才建立的證書

在簽名頁面,單擊「更多詳細資訊」按鈕,將會顯示證書的詳細資訊,選擇詳細資訊標籤,然後單擊「複製到檔案」按鈕,進入證書匯出嚮導:

進入以下頁面後,選擇不要匯出私鑰:

此步驟匯出的證書供客戶端使用!

完成後重新生成解決方案

將受信應用部署到iis,部署與傳統asp.net應用一樣,無需做其他設定。

以上基本完成了服務端的設定,接下來對於客戶端需要做一些設定,才能在瀏覽器內執行受信應用

在客戶端安裝第9步驟匯出的證書,在證書檔案上單擊右鍵,選擇安裝,進入證書安裝嚮導,選擇儲存區時,將證書匯入到「受信任的發布者」位置:

重複第14步驟,選擇儲存區時,將證書匯入到「受信任的根證書頒發機構」位置。

到此,我們即可在此客戶端上執行受信應用了(注意下圖中的位址已經是非本機位址):

建立Silverlight 5瀏覽器內受信應用

在silverlight 4中受信應用已經被支援,受信應用簡單的說就是可以訪問一些本地受限資源的silverlight應用。在silverlight 4中受信應用必須是oob型別,即必須先安裝在本地,同時受信應用能訪問的資源也有限,例如只能訪問我的文件 我的等位置的檔案。而在silverlight ...

Silverlight5正式發布新特性

近期微軟在silverlight firestarter活動中宣布了silverlight在2011年的時間表。silverlight 5是scott guthrie的演講主題,在其中微軟演示了很多即將出現的新特性和新功能。silverlight 5會在2011年的上半年發布beta測試版,並在下半...

Silverlight 5即將來臨

可能最早在2010年12月,微軟將揭曉silverlight的未來,屆時silverlight 5的細節將被共享。但通過與以前的版本的綽號來看,silverlight 5 很可能是當前版本的silverlight 4 的延續。微軟宣布2010年12月2日,將會舉辦由微軟企業副總裁scott guth...