1、问题描述:
最近使用miniui做了一个后台管理系统,打开浏览器调试时,总发现一堆无关的请求,结构大致是:poll?transport=longpoll&connection.....一直不停的刷,看着很烦人。起初以为这是miniui的数据请求没处理好,网上了解之后,才发现这是VS 2013的 Browser Link 功能。
2、Browser Link了解
Browser Link 是连接VS和浏览器之间的通道,这个特性在VS2013中是默认开启的。当web程序运行的时候,就会注册一个HttpModule到asp.net的生命周期中,这个HttpModule的功能就是在每个输出的网页中,注入一段<script>脚本,这段脚本的作用就是负责VS IDE和网页间的通讯。
网上了解到Browser Link的功能是:当我们修改VS中的文件时,然后点击refresh按钮或者Ctrl+Alt+Enter刷新这个页面. 它会立即刷新所有的浏览器。我试了一下,确实可以触发所有浏览器重新请求页面,看到修改内容。
3、判断Browser Link功能是否开启?
看见一对无用的poll?transport...请求,也大概可以确定是开启状态了。
浏览器中右键查看页面的源代码,检查页面html源码底部的script块.如果有下面的script代码,就说明Browser Link功能开启了。
<!-- Visual Studio Browser Link -->
<script type="application/json" id="__browserLink_initializationData">
{"appName":"Firefox","requestId":"861592d477c64fd590b602a9f006c074"}
</script>
<script type="text/javascript" src="http://localhost:2968/f26bea4f8e6a45868431324e7994cd75/browserLink" async="async"></script>
<!-- End Browser Link -->
4、关闭Browser Link
(1)在toolbox(工具栏)上去掉勾选”Enable Browser Link”(启动浏览器链接)
Tip:就在启动隔壁
(2)通过修改web.config文件来关闭Browser Link功能
<appSettings>
<add key="vs:EnableBrowserLink" value="false"/>
</appSettings