关于Visual Studio 2013新建MVC项目,会一直请求地址

来源:互联网 发布:软件测试bug管理工具 编辑:程序博客网 时间:2024/06/05 08:39

        最近主要是闲来无事,就想写一些MVC的项目,用vs2013新建项目,选择mvc的web应用程序,模板选择非 ”空“的,(图1)前提步骤就是这样的。

                                    图1

但是当我们新建一个Controller的时候,在火狐中打开index页面,就会有一直的请求一个页面的链接存在,而且还是不断的请求,只要页面存在就会一直请求的那种。

                                       图2

很奇怪,一开始以为是 Visual Studio 2013 在创建项目的时候默认加进去的 JavaScript 文件或者是视图文件导致的,找了半天也没找到,经过在 FireBug 下查看源代码发现,页面下面有如下的代码(红色标注部分):

<
!DOCTYPE html><html><head>    <meta charset="utf-8" />    <meta name="viewport" content="width=device-width" />    <title>Index</title>    <script src="/bundles/modernizr"></script></head><body><h2>Index</h2><!-- Visual Studio Browser Link --><script type="application/json" id="__browserLink_initializationData">    {"appName":"Firefox","requestId":"eafdaf70fe0c4dac93f828253c5a71d7"}</script><script type="text/javascript" src="http://localhost:3860/ca19c13d6bd8496f9e41edf962666f65/browserLink" async="async"></script><!-- End Browser Link --></body></html>
  

然后就根据 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 节点下加入如下代码即可(红色注释的部分)。

<appSettings>    <add key="webpages:Version" value="2.0.0.0" />    <add key="webpages:Enabled" value="false" />    <add key="PreserveLoginUrl" value="true" />    <add key="ClientValidationEnabled" value="true" />    <add key="UnobtrusiveJavaScriptEnabled" value="true" />   <span style="color:#FF0000;"> <add key="vs:EnableBrowserLink" value="false"/></span>  </appSettings>

注:MSDN的讲解http://blogs.msdn.com/b/webdev/archive/2013/06/28/browser-link-feature-in-visual-studio-preview-2013.aspx

以上文章有部分借鉴网友之语言组合能力,传送门:http://www.cnblogs.com/weisenz/p/3921342.html

0 0
原创粉丝点击