我一直无法使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>
我找到了答案!事实证明,web.config中带有标记的东西有点不同.
原文链接:https://www.f2er.com/angularjs/140295.html我首先在位置/ 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处理程序移出location位置标记并单独指定它的路径
正确
<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,PublicKeyToken=b03f5f7f11d50a3a" resourceType="File" preCondition="integratedMode" /> </handlers> </system.webServer>