我有一个现有的 MVC 4 应用程序。我想向它添加服务堆栈。我尝试安装 MVC 主机 nuget 包:
安装包 ServiceStack.Host.Mvc
它在 App_Start 中安装了 2 个文件。我注意到我必须做些小改动,因为我遇到了构建错误:
在 App_State/WebServiceExamples.cs 中,我不得不更新接口引用:
从:public class HelloService : Service
至:public class HelloService : ServiceStack.ServiceInterface.Service
然后我继续检查 Web.config 设置:
<location path="api">
<system.web>
<httpHandlers>
<add path="*" type="ServiceStack.WebHost.Endpoints.ServiceStackHttpHandlerFactory, ServiceStack" verb="*" />
</httpHandlers>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
<!-- 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>
然后我运行应用程序并转到 /api,我得到了 404。通过进一步的研究,我决定通过 apphost 文件手动更新端点:
SetConfig(new EndpointHostConfig
{
ServiceStackHandlerFactoryPath = "api",
});
这似乎也不起作用。我还缺少什么?
谢谢你的时间。