我正在使用Angular 1.5和Web API 2开发应用程序,但我想切换到ServiceStack。该应用程序已在生产中运行。
我的想法是让v1使用Web API(... / api / v1 / ...),使用ServiceStack实现v2,并在一段时间后删除v1。
我想知道是否可以在一个Web主机中组合Web API 2和ServiceStack?如果不是,在没有花时间用ServiceStack一步重写整个代码的情况下,进行平滑过渡的最佳方法是什么?
答案 0 :(得分:3)
查看MVC Integration文档,了解如何配置ServiceStack,以便可以与其他Web框架一起配置,例如:您可以将ServiceStack注册到/api/v2
,并安装:
<location path="api/v2">
<system.web>
<httpHandlers>
<add path="*" type="ServiceStack.HttpHandlerFactory, ServiceStack"
verb="*"/>
</httpHandlers>
</system.web>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
<validation validateIntegratedModeConfiguration="false" />
<handlers>
<add path="*" name="ServiceStack.Factory"
type="ServiceStack.HttpHandlerFactory, ServiceStack" verb="*"
preCondition="integratedMode"
resourceType="Unspecified" allowPathInfo="true" />
</handlers>
</system.webServer>
</location>
您还需要在ServiceStack的AppHost.Configure()
中指定它:
SetConfig(new HostConfig {
HandlerFactoryPath = "api/v2"
});