我有一個現有的MVC 4應用程序。我想添加服務堆棧。我嘗試安裝了MVC主機NuGet包:ServiceStack和MVC4不接線
安裝,包裝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>
我則r一個應用程序,並赴/ API,我得到了一個404從一些進一步的研究,我決定通過APPHOST文件手動更新端點:
SetConfig(new EndpointHostConfig
{
ServiceStackHandlerFactoryPath = "api",
});
這也似乎沒有工作。我還有什麼遺漏?
謝謝你的時間。
新增routes.IgnoreRoute( 「API/{*} PATHINFO」);在Global.asax.cs中的RegisterRoutes例程中做到了這一點。如果您遇到此問題,請務必在註冊默認路線或任何其他路線之前將其添加。 – TheWebGuy 2013-03-08 22:29:47
@Gordon注意:這個信息也包含在NuGet項目的[ReadMe.txt](https://github.com/ServiceStack/ServiceStack/blob/master/NuGet/ServiceStack.Host.Mvc/content/README.txt)文件。 – mythz 2013-03-08 22:37:10