精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

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

開發 后端
可以看到,在Silverlight 5中受信應用的權限幾乎獲得了與桌面應用相當的權限,在這里,我將為大家介紹如何創建瀏覽器內的受信應用。以下示例將通過Silverlight來監視本地的網絡流量。

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

  受信應用可以運行于瀏覽器之內

  可以無限制的訪問本地文件系統

  訪問強安全性方法時,不會再引發MethodAccessException異常

  當運行于桌面模式時,可以創建多個窗口

  在Windows平臺可以直接調用非托管函數

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

  受信應用的創建與常規Silverlight應用沒有差異,直接通過新建項目來創建:

  要使應用受信任,必須修改項目的屬性,必須勾選“允許在瀏覽器外允許程序”,以及“在瀏覽器內運行時需要提升的權限”:

  單擊瀏覽器外設置按鈕,進入以下設置界面,勾選“在瀏覽器之外運行時需要提升的信任”,由于我們的應用只允許在瀏覽器內運行,所以可將“顯示安裝菜單”的復選框去掉。這里說明一下,由于受信應用在Silverlight之前版本是和瀏覽器外運行綁定的,所以這里我們可以看到,雖然現在不使用瀏覽器外運行方式,但也需要對OOB進行設置,以此來獲取受信模式。

  實現功能。我們將調用非托管的Win32 API來實現本地網絡流量的監視,在Silverlight 5中,調用本地非托管函數的方式與.NET下完全一致。具體請參照本文源碼,代碼片段:

  1. public static class WIN32API  
  2.     {  
  3.         [DllImport("kernel32.dll")]  
  4.         public static extern bool GetComputerName(StringBuilder computerName, out Int32 nameLength);  
  5.  
  6.         [DllImport("Iphlpapi.dll")]  
  7.         private static extern Int32 GetIfTable(Byte[] pIfTable, out long pdwSize, bool bOrder);  
  8.  
  9.         [DllImport("kernel32.dll")]  
  10.         private static extern  int MultiByteToWideChar(uint CodePage,Int32 dwFlags,byte[] lpMultiByteStr,Int32 cbMultiByte,byte[] lpWideCharStr, int cchWideChar);  
  11.  
  12.         public static MIB_IFTABLE GetIfTable()  
  13.         {  
  14.             MIB_IFTABLE table = new MIB_IFTABLE();  
  15.             long size = 0;  
  16.             GetIfTable(nullout size, false);  
  17.             if (size != 0)  
  18.             {  
  19.                 Byte[] data = new Byte[size];  
  20.                 long ret = GetIfTable(data, out size, false);  
  21.                 if (ret == 0)  
  22.                 {  
  23.                     MemoryStream ms = new MemoryStream(data);  
  24.                     ms.Position = 0;  
  25.                     BinaryReader br = new BinaryReader(ms, Encoding.Unicode);  
  26.  
  27.                     table.dwNumEntries = br.ReadInt32();  
  28.                     table.table = new MIB_IFROW[table.dwNumEntries];  
  29.                     for (int i = 0; i < table.dwNumEntries; i++)  
  30.                     {  
  31.                         table.table[i] = new MIB_IFROW();  
  32.                         MIB_IFROW curRow = table.table[i];  
  33.                         FieldInfo[] fis = typeof(MIB_IFROW).GetFields();  
  34.                         foreach (FieldInfo fi in fis)  
  35.                         {  
  36.                             if (!fi.IsStatic)  
  37.                             {  
  38.                                 MarshalAsAttribute[] attrs = fi.GetCustomAttributes(typeof(MarshalAsAttribute), trueas MarshalAsAttribute[];  
  39.                                 if (attrs != null && attrs.Length > 0 && attrs[0].SizeConst != 0)  
  40.                                 {  
  41.  
  42.                                     if (fi.FieldType == typeof(String))  
  43.                                     {  
  44.                                         Byte[] tmpChars = br.ReadBytes(attrs[0].SizeConst*2);  
  45.                                         fi.SetValue(curRow, Encoding.Unicode.GetString(tmpChars, 0, tmpChars.Length).TrimEnd('\0'));  
  46.                                     }  
  47.                                     else if (fi.FieldType == typeof(Byte[]))  
  48.                                     {  
  49.                                         fi.SetValue(curRow, br.ReadBytes(attrs[0].SizeConst));  
  50.                                     }  
  51.                                 }  
  52.                                 else 
  53.                                 {  
  54.                                     if (fi.FieldType == typeof(Int32))  
  55.                                     {  
  56.                                         Int32 tmpValue = br.ReadInt32();  
  57.                                         fi.SetValue(curRow, tmpValue);  
  58.                                     }  
  59.                                 }  
  60.  
  61.                             }  
  62.                         }  
  63.                     }  
  64.                 }  
  65.             }  
  66.  
  67.             return table;  
  68.         }  
  69.  
  70.         public static String AsciiToUTF8(Byte[] asciiBytes)  
  71.         {  
  72.             int mustBytes = MultiByteToWideChar(WIN32CONST.CP_ACP, WIN32CONST.MB_PRECOMPOSED, asciiBytes, -1, null, 0);  
  73.             if (mustBytes > 0)  
  74.             {  
  75.                 Byte[] tmpBytes = new Byte[mustBytes*2];  
  76.                 if (MultiByteToWideChar(WIN32CONST.CP_ACP, WIN32CONST.MB_PRECOMPOSED, asciiBytes, -1, tmpBytes, mustBytes) != 0)  
  77.                 {  
  78.                    return Encoding.Unicode.GetString(tmpBytes, 0, tmpBytes.Length);  
  79.                 }  
  80.             }  
  81.             return "";  
  82.         }  
  83.     } 


 

 

 

 

  1. 測試,當在本地測試時,即訪問地址為localhost或127.0.0.1時,受信應用無需做任何設置即可運行,本示例運行結果如下:
    4
  2. 接下來我們將說明如何部署受信應用,首先,要使受信應用在遠程客戶機上被訪問,必須對xap進行簽名。
  3. 進入TrustedApp項目屬性,轉到簽名頁,勾選“為Xap文件簽名”,這里我們將創建一個新的測試證書,以此進行演示,實際項目中可以向證書頒發機構申請信任證書,當然這是需要$的。單擊創建新測試證書按鈕,在彈出對話框中輸入密碼,這里設置為test,確定后,Visual Studio將創建一個證書文件,默認保存在項目根目錄下。
    5
  4. 接下來單擊“從存儲區選擇”按鈕,在彈出窗口中選擇剛才創建的證書
    6
  5. 在簽名頁面,單擊“更多詳細信息”按鈕,將會顯示證書的詳細信息,選擇詳細信息標簽,然后單擊“復制到文件”按鈕,進入證書導出向導:
    7 
  6. 進入以下頁面后,選擇不要導出私鑰:
  7. 8 
  8. 此步驟導出的證書供客戶端使用!
  9. 完成后重新生成解決方案
  10. 將受信應用部署到IIS,部署與傳統ASP.NET應用一樣,無需做其他設置。
  11. 以上基本完成了服務端的設置,接下來對于客戶端需要做一些設置,才能在瀏覽器內運行受信應用
  12. 首先需要啟用瀏覽器內受信應用權限,這可直接通過修改注冊表來完成:
    注冊表路徑:HKEY_LOCAL_MACHINE\Software\Microsoft\Silverlight\
    值名稱:AllowElevatedTrustAppsInBrowser
    值類型:DWORD
    可用值:不可在瀏覽器內運行受信應用,設置為0,如果啟用設置為1
  13. 在客戶端安裝第9步驟導出的證書,在證書文件上單擊右鍵,選擇安裝,進入證書安裝向導,選擇存儲區時,將證書導入到“受信任的發布者”位置:
    9
  14. 重復第14步驟,選擇存儲區時,將證書導入到“受信任的根證書頒發機構”位置。
  15. 到此,我們即可在此客戶端上運行受信應用了(注意下圖中的地址已經是非本機地址):
    10
  16. 但是,必須注意此時的Silverlight是沒辦法自動更新的,也就是說服務端xap更新后,客戶端重新訪問時不會去自動下載xap,這顯然不符合需求,那該怎么做呢?我們需要在每次生成xap的時候,自動對xap進行時間戳簽名。
  17. 進入到TrustedApp項目屬性,選擇生成事件:
    11
    在后期生成事件命令行中輸入以下命令,進行xap的時間戳簽名:
    "C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin\signtool.exe" sign /v /f "$(ProjectDir)TrustedApp_1_TemporaryKey.pfx" /p test /t http://timestamp.comodoca.com/authenticode $(TargetName).xap
    前面為signtool的全路徑,它通常位于所安裝的Windows SDK目錄下, /f 后面跟隨證書的全路徑,以上示例表示當前項目下的TrustedApp_1_TemporaryKey.pfx證書文件,/p 后面表示證書的密碼,/t 后面跟隨一個CA Authenticode Timestamping Service的URL地址,命令***部分為需要簽名的xap文件。
    進行此步操作后,每次生成xap文件后,Visual Studio將自動調用次命令進行xap的時間戳簽名。這樣,客戶端重新訪問網頁時,即可自動下載更新xap。

 

責任編輯:彭凡 來源: 博客園
相關推薦

2009-12-31 15:58:11

Silverlight

2009-03-26 15:35:22

detachedRIASilverligh

2011-09-29 14:16:13

通信展手機Html5

2009-02-19 09:42:01

SliverlightChrome微軟

2012-05-17 09:45:30

2009-03-22 10:08:25

SilverLight瀏覽器

2009-12-30 18:07:54

Silverlight

2009-12-15 13:47:33

Silverlight

2021-06-02 06:14:50

Nyxt瀏覽器

2012-05-07 14:24:15

HTML 5Web App

2012-05-28 13:09:12

HTML5

2012-04-25 14:06:45

HTML5

2020-10-29 09:45:58

零日漏洞Chrome攻擊

2012-03-20 11:31:58

移動瀏覽器

2012-03-19 17:25:22

2012-03-20 11:41:18

海豚瀏覽器

2012-03-20 11:07:08

2013-11-13 10:05:15

移動瀏覽器HTML 5

2009-08-20 09:18:27

Silverlight

2012-04-23 13:43:02

HTML5瀏覽器
點贊
收藏

51CTO技術棧公眾號

黄色av网站在线播放| 日韩精品极品毛片系列视频| 在线观看国产欧美| 五月天激情图片| 亚洲色图100p| 看黄在线观看| 一本久道久久综合婷婷鲸鱼| 欧美精品 国产精品| 美日韩免费视频| 国产在线欧美在线| 国产精久久久| 中文字幕在线一区| 国产精品久久久一区| 激情综合丁香五月| 国产嫩草在线视频| 国产高清视频一区| 蜜臀久久99精品久久久久久宅男 | 成人羞羞动漫| 精品国产精品三级精品av网址| 亚洲在线第一页| 啪啪一区二区三区| 超碰97久久国产精品牛牛| 综合色中文字幕| 国产在线一区二区三区| 五月天激情图片| 你懂的网站在线| 欧美91视频| 4438x亚洲最大成人网| 亚洲午夜精品福利| 亚洲自拍偷拍另类| 欧美电影免费播放| 在线播放91灌醉迷j高跟美女 | 日韩欧美国产成人| 精品国产免费一区二区三区 | 日韩免费特黄一二三区| 欧美日韩久久一区| 亚洲在线欧美| 天堂a√在线| 亚洲欧美日韩国产| 一本色道久久88综合日韩精品| 亚洲国产精品第一页| 福利影院在线看| www国产亚洲精品久久麻豆| 国产91免费看片| avhd101老司机| 成人噜噜噜噜| 欧美日韩成人一区| 国产又大又黄又粗又爽| 八戒八戒神马在线电影| 成人精品在线视频观看| 日本电影亚洲天堂| 婷婷社区五月天| 97久久亚洲| 在线成人av网站| 欧美成人福利在线观看| 日本一级理论片在线大全| 99久久久久久| 成人疯狂猛交xxx| 国产中文字字幕乱码无限| 午夜精品999| 欧美高清激情视频| 日本xxxxxxxxx18| 国产精选久久| 欧美一级免费观看| 色诱视频在线观看| 最新日本在线观看| 久久久亚洲欧洲日产国码αv| 国产精品爽爽爽| 国产 日韩 欧美 成人| 欧美视频二区| 中文字幕久久亚洲| 欧美熟妇精品一区二区蜜桃视频| 免费日韩电影| 亚洲一区免费视频| 亚洲精品在线免费看| 成人爽a毛片一区二区| 日本美女一区二区| 性欧美激情精品| 老熟妇高潮一区二区三区| 希岛爱理av免费一区二区| 日韩一区二区三区免费看| 91人人澡人人爽| 91丨精品丨国产| 欧美日韩性生活视频| www.黄色网址.com| 国产高清视频在线播放| 成人午夜私人影院| 精品一卡二卡三卡四卡日本乱码| 九色在线观看| 91在线视频观看| 国产超碰91| 精品国产乱码久久久久久蜜臀网站| 久久一二三区| 69久久夜色精品国产69| 久久国产在线观看| 国产国产精品| 中文字幕亚洲综合| 妺妺窝人体色www婷婷| 国产欧美日韩亚洲一区二区三区| 欧美精品一区二区免费| 日韩欧美成人一区二区三区 | 成人动漫一区二区在线| 国产欧美日韩高清| 日本高清视频www| 亚洲国产精品av| 欧美一区二区三区在线免费观看| 理论片中文字幕| 国产亚洲美州欧州综合国| 玖玖玖精品中文字幕| 国产在线观看欧美| 黄色网址在线视频| 成人在线啊v| 日韩乱码在线视频| 网站免费在线观看| 天天影视天天精品| 欧美孕妇毛茸茸xxxx| 日韩免费视频网站| 亚洲一区久久| 亚洲精品日韩av| 成人在线免费视频| 国产精品久久毛片av大全日韩| 日韩av电影免费在线| 爱久久·www| 天天色综合天天| 四川一级毛毛片| 超碰97成人| 久久精品国产一区| 黄色一级片在线| 日韩和欧美的一区| 国产主播喷水一区二区| 日韩二区三区| 欧美激情一区二区三区四区| 亚洲国产日韩欧美| 伊人网在线播放| 欧美在线视频日韩| 色综合五月婷婷| 77成人影视| 亚洲精品影视在线观看| 国产主播在线播放| 成人午夜免费电影| 成人免费在线视频播放| 黄视频网站在线观看| 欧美一区二区三区成人| 国模无码视频一区| 久久99性xxx老妇胖精品| 最近2019年好看中文字幕视频| 成人免费精品动漫网站| 免费看日韩精品| 99视频免费观看| 黄色av免费在线观看| 图片区小说区区亚洲影院| 中国极品少妇xxxx| 亚洲精品女人| 国产日韩av在线播放| 国产小视频在线| 色噜噜夜夜夜综合网| 操人视频免费看| 婷婷中文字幕一区| 91在线免费看片| 欧美偷拍视频| 国产偷v国产偷v亚洲高清| 一本大道熟女人妻中文字幕在线 | 男生和女生一起差差差视频| h视频久久久| 欧美国产一区二区三区| 亚洲国产精品国自产拍久久| 久久精品一区二区三区av| 337p粉嫩大胆噜噜噜鲁| 国产一区二区欧美| 久久久噜久噜久久综合| 中文字幕网址在线| av电影在线观看一区| 国产乱子伦农村叉叉叉| 国产一区二区视频在线看| 久久久精品999| 亚洲精品国产片| 欧美日韩国产精品一区二区不卡中文| 亚洲精品女人久久久| 日韩av一区二区三区四区| 一区二区91美女张开腿让人桶| 国产精品一区二区精品视频观看| 久久久亚洲天堂| 国产中文字幕在线看| 7878成人国产在线观看| 日韩免费视频网站| 国产精品看片你懂得| 久久久久亚洲av无码网站| 久久国产精品毛片| 国产精品视频在线免费观看| 又爽又大又黄a级毛片在线视频| 午夜精品久久久久久久| 黄色一级片免费播放| 亚洲黄色在线| 亚洲精品成人久久久998| 日韩在线成人| 欧美精品情趣视频| 嫩草研究院在线| 欧美一区二区黄| 丰满少妇xoxoxo视频| 99精品久久99久久久久| 在线观看亚洲色图| 亚洲国产一区二区三区a毛片 | 最好看的中文字幕| 免费日韩视频| 国产免费内射又粗又爽密桃视频| 亚洲宅男一区| 亚洲v在线看| 91a在线视频| 日本不卡视频| 欧美日韩高清一区| 日本三级午夜理伦三级三| 国产精品77777| 成年人视频在线免费| 国产综合亚洲精品一区二| 国产成人成网站在线播放青青| 亚洲欧美小说色综合小说一区| 国产亚洲综合久久| 亚洲中文字幕在线观看| 欧美日韩国产页| 69xx绿帽三人行| 国产69精品一区二区亚洲孕妇| 精品久久久无码人妻字幂| 欧美日韩中文一区二区| 国产精品黄色av| 超碰国产在线观看| 国产婷婷97碰碰久久人人蜜臀 | 欧美日韩在线三级| 99精品全国免费观看| aaa亚洲精品一二三区| 美女被艹视频网站| 麻豆精品国产91久久久久久| 制服国产精品| 欧美高清一级片| 欧美激情精品久久久久久蜜臀| av播放在线观看| 日韩三级高清在线| 国产影视一区二区| 亚洲国产一区二区三区青草影视| 激情高潮到大叫狂喷水| 国产欧美日本一区视频| 少妇按摩一区二区三区| 蜜臀av性久久久久蜜臀av麻豆| 少妇av一区二区三区无码| 国产午夜一区| 日本一区不卡| 国产伦精品一区二区三区视频| 久久波多野结衣| 福利精品一区| 久久久久久久国产| 国模吧精品人体gogo| 亚洲美女在线视频| 91丨porny丨在线中文 | 在线观看成人动漫| 国产成人亚洲精品狼色在线 | 成人免费毛片男人用品| 欧美日韩中文字幕在线| 久久精品视频5| 欧美在线色视频| 一级特黄aaaaaa大片| 欧美一区二区三区在线电影 | 天然素人一区二区视频| 久久精品久久久久| 黄色在线视频网站| 欧美风情在线观看| 鲁鲁在线中文| 国产精品国产福利国产秒拍 | 亚洲欧美日韩国产一区| 尤蜜粉嫩av国产一区二区三区| 午夜精品剧场| 无码人妻少妇伦在线电影| 日韩在线欧美| 成年人视频大全| 一区二区三区四区五区在线 | 国产白丝精品91爽爽久久| 制服丝袜在线第一页| 久久免费视频色| 好吊操视频这里只有精品| youjizz久久| 国产精品无码无卡无需播放器| 亚洲欧美区自拍先锋| 国产aaaaaaaaa| 久久精品夜色噜噜亚洲a∨| 国产农村妇女精品一区| 亚洲精品国产一区二区精华液| 成年人在线免费看片| 91在线观看免费视频| 亚洲毛片亚洲毛片亚洲毛片| 亚洲免费av观看| 国产99久久久| 91精品一区二区三区久久久久久| 日本久久一级片| 中文字幕不卡av| а√天堂8资源中文在线| 国产精品自拍偷拍视频| 国产精品流白浆在线观看| 亚洲精品日韩av| 国产成人精品在线播放| 中文字幕被公侵犯的漂亮人妻| 26uuu亚洲综合色| 99久久99久久精品免费看小说.| 亚洲精品国产一区二区精华液 | 5566av亚洲| 色愁久久久久久| 男女爱爱视频网站| 石原莉奈在线亚洲三区| 国产乱淫av麻豆国产免费| 国产精品久久国产精麻豆99网站| 久久精品欧美一区二区| 欧美视频一区在线观看| 精产国品一区二区| 欧美小视频在线观看| 国产精品污视频| 欧美精品三级在线观看| 天堂在线观看视频| 日韩精品免费看| 大片免费在线看视频| 国产成人综合精品| 亚洲人成网亚洲欧洲无码| 欧美一区二区三区综合| 日韩av在线发布| 风间由美一二三区av片| 亚洲一区在线观看免费| 国产精品人人爽| 一区二区在线视频| 樱桃视频成人在线观看| 国产精品久久久久久久久久| 果冻天美麻豆一区二区国产| 91xxx视频| 九一久久久久久| 中文字幕在线播放一区二区| 国产精品另类一区| 制服丝袜在线一区| 亚洲香蕉成视频在线观看| 欧美亚洲日本精品| 精品久久久久久一区| 亚洲毛片播放| zjzjzjzjzj亚洲女人| 亚洲曰韩产成在线| 国产成人精品片| 精品国产乱码久久久久久老虎| 亚洲欧美色视频| 日韩在线观看免费网站| 高清av一区| 亚洲欧美成人一区| 久久国产尿小便嘘嘘| 乱老熟女一区二区三区| 欧美精品乱人伦久久久久久| 9191在线观看| 成人www视频在线观看| 羞羞色午夜精品一区二区三区| 69堂国产成人免费视频| 四虎永久在线精品免费网址| 色与欲影视天天看综合网| h片在线观看视频免费免费| 国产99视频精品免视看7| 特黄aaaaaaaaa真人毛片| 精品无人码麻豆乱码1区2区| 我要看一级黄色大片| 久久久国产一区二区三区四区小说 | 日韩一区二区三区精品| 国产精品国三级国产av| 成人av在线影院| 少妇太紧太爽又黄又硬又爽| 亚洲另类激情图| 欧美日一区二区三区| 一区二区视频在线播放| 国产一区二区按摩在线观看| 国产麻豆天美果冻无码视频 | 成人一级片网站| 国产福利一区在线| 久久9999久久免费精品国产| 日韩av影视综合网| 成人在线爆射| 国产伦精品一区二区三区在线| 99在线|亚洲一区二区| 久久只有这里有精品| 亚洲成a天堂v人片| 国产人妖一区二区| 中文字幕免费国产精品| 日韩色性视频| 视频一区二区在线观看| 国产精品乱看| 亚洲天堂av中文字幕| 精品欧美一区二区久久| 国产网友自拍视频导航网站在线观看 | 亚洲午夜精品一区二区| 国产精品一二三区| 激情无码人妻又粗又大| 日韩欧美色综合网站| 午夜在线视频播放| 999热视频| 狂野欧美性猛交xxxx巴西| h色网站在线观看| 欧美日韩国产电影| 波多一区二区| 亚洲欧美久久234| av一区二区三区黑人| 一级α片免费看刺激高潮视频| 欧美激情视频免费观看| 精品产国自在拍|