最近公司弄新項目需要用 ASP.NET MVC,就把 IDE 升級到了 Visual Studio 2013,在開發的時候發現有好多請求一個本地 49925 的端口 。
很奇怪,一開始以為是 Visual Studio 2013 在創建項目的時候默認加進去的 JavaScript 文件或者是視圖文件導致的,找了半天也沒找到,經過在 FireBug 下查看代碼發現,頁面下面有如下的代碼:
<script id="__browserLink_initializationData" type="application/json"> {"appName":"Firefox","requestId":"23b71f085f334e97969864ab934745c5"} </script> <script async="async" src="http://localhost:49925/4b38e516c0774211882dabde19ecda0f/browserLink" type="text/javascript">
然后就根據 browserLink 這個名字搜索了一下,發現 browserLink 是 Visual Studio 2013 的新功能。
什么是 Browser Link ?
這個 Browser Link 的功能就是通過一個腳本文件架起流程器和 Visual Studio IDE 之前的一個通信橋梁, 在啟用 Browser Link 后, Visual Studio 會給網站注入一個 IHttpModule 模塊對象, 然后在每個頁面都會注冊一段上面的腳本。
Browser Link 功能使用 SignalR 技術實現的。
說了這么多, Browser Link 功能到底是用來干什么用的?
現在 Broswer Link 功能比較簡單,就是用來在 Visual Studio IDE 可以刷新瀏覽器中已經打開的頁面, 為什么要在 Visual Studio IDE 中刷新頁面?
有這么一個應用場景:假如你在開發一個頁面,這個頁面需要兼容 IE, GOOGLE, FIREFOX 和移動瀏覽器, 有可能你會同時使用這些流程器打開你的頁面, 如果發現有某種問題,回到 VS IDE 進行修改, 修改完后可以在 Visual Studio IDE 點 "Refresh Linked Browsers" 來刷新所有瀏覽器以查看效果。
現在這個 "Browser Link " 只有這么一個刷新功能, 但是 Browser Link 功能可以編寫擴展功能,可以自定義一些自己需要的功能。
如果不想使用這個功能只需要在 web.config 中的 appSettings 節點下加入如下代碼即可。
<add key="vs:EnableBrowserLink" value="false"/>
http://blogs.msdn.com/b/webdev/archive/2013/06/28/browser-link-feature-in-visual-studio-preview-2013.aspx