3

我遵循了 ServiceStack (3.9.37) 教程并创建了一个空的 ASP.Net Web 应用程序并让 web 服务按预期工作:

http://www.somedomain.com:53032/api/metadata

我还链接了 Swagger-UI 包 (3.9.35)

我添加了 Plugins.Add(new SwaggerFeature()); 在 AppHost.Configure

我的问题是 Swagger-UI 不可用,正如我所期望的那样:

http://www.somedomain.com:53032/swagger-ui/index.html

我收到带有堆栈跟踪的错误“未找到请求的处理程序:”。

我已经尝试过目标框架 4.0 和 4.5,结果相同。Visual Studio 版本是 2012

我错过了什么才能正确连接这个链接吗?

4

1 回答 1

3

发现这是一个路径问题。通过对 web.config 进行以下修改来解决:

//Added Location node
//path moved here
<location path="api">  // Path moved to location area !!!

<system.web>
<compilation debug="true" targetFramework="4.5"/>
<httpRuntime/>
<httpHandlers>

//Path returned to wildcard
<add path="*" type="ServiceStack.WebHost.Endpoints.ServiceStackHttpHandlerFactory, ServiceStack" verb="*"/>

</httpHandlers>
<pages controlRenderingCompatibilityVersion="4.0"/>
</system.web>
<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>
于 2013-02-20T06:29:59.747 回答