无法使Visual Studio 2013浏览器链接使用静态html

时间:2013-12-27 20:34:08

标签: angularjs servicestack visual-studio-2013

我一直无法使Visual Studio的浏览器链接功能始终如一地工作。我尝试过的项目都使用了Service Stack和Angular。

我在system.webservice部分添加了处理程序,但仍然没有。

<handlers>
    <add name="Browser Link for HTML" path="*.html" verb="*" type="System.Web.StaticFileHandler, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" resourceType="File" preCondition="integratedMode" />
</handlers>

1 个答案:

答案 0 :(得分:8)

我找到了答案!事实证明,web.config中带有标记的东西有点不同。

我首先在位置/ api下设置服务堆栈。在添加浏览器链接处理程序时,我没有立即注意到这一点,这意味着我将其添加到api位置。

然后我尝试将它添加到它自己的system.webServer部分,但这给了我服务堆栈的问题。我发现即使是一个空的system.webServer部分似乎也消灭了服务栈的http处理程序。 (参见第二个system.webServer部分)

不正确                                                            

    <!-- Required for IIS 7.0 -->
    <system.webServer>
      <modules runAllManagedModulesForAllRequests="true" />
      <validation validateIntegratedModeConfiguration="false" />
      <handlers>
        <add path="*" name="ServiceStack.Factory" type="ServiceStack.WebHost.Endpoints.ServiceStackHttpHandlerFactory, ServiceStack" verb="*" preCondition="integratedMode" resourceType="Unspecified" allowPathInfo="true" />            
      </handlers>
    </system.webServer>
  </location>
  <system.webServer>
  </system.webServer>

将服务堆栈http处理程序从位置标记中移出并单独指定它的路径是什么工作

CORRECT

<location path="api">
    <system.web>
      <httpHandlers>
        <add path="*" type="ServiceStack.WebHost.Endpoints.ServiceStackHttpHandlerFactory, ServiceStack" verb="*" />
      </httpHandlers>
    </system.web>
  </location>
  <!-- Required for IIS 7.0 -->
  <system.webServer>
    <modules runAllManagedModulesForAllRequests="true" />
    <validation validateIntegratedModeConfiguration="false" />
    <handlers>
      <add path="api" name="ServiceStack.Factory" type="ServiceStack.WebHost.Endpoints.ServiceStackHttpHandlerFactory, ServiceStack" verb="*" preCondition="integratedMode" resourceType="Unspecified" allowPathInfo="true" />
      <add name="Browser Link for HTML" path="*.html" verb="*" type="System.Web.StaticFileHandler, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" resourceType="File" preCondition="integratedMode" />
    </handlers>
  </system.webServer>