我的 ServiceStack Web 服务在 IIS Express (VS 2012) 和部署到 Windows Azure 时运行良好,但在 Window 8 上的 IIS 8 下无法运行。
我越来越404 Not Found Error
。Myweb.config
为 IIS Express 和 Web 服务器定义了两个部分。
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.5">
<assemblies>
<add assembly="System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
</assemblies>
<buildProviders>
<add extension=".cshtml" type="ServiceStack.Razor.CSharpRazorBuildProvider, ServiceStack.Razor" />
</buildProviders>
</compilation>
<httpRuntime targetFramework="4.5" />
</system.web>
<system.webServer>
<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>
</configuration>
解决方案:
通过进一步的研究,刚刚发现这解决了我的问题:
- 我将应用程序池切换到Integrated Mode。
我将以下内容添加到
web.config
:<system.webServer> <modules runAllManagedModulesForAllRequests="true"/> </system.webServer>