部署服务堆栈时404和HTTPHandler错误

时间:2013-08-22 08:22:25

标签: asp.net web-services servicestack

我目前很难将服务堆栈服务部署到我们的UAT生产服务器。在我们的开发和测试环境中,服务正常运行,可以按预期访问。

但是,当网站部署到UAT服务器时,该服务不可用并返回404错误。

首次部署应用程序时,由于缺少MVC dll而引发了异常。这些dll都放在bin文件夹中,应用程序返回404错误。

在UAT环境中,该服务作为IIS网站的应用程序添加。

可能是应用程序错误页面返回了错误的错误消息,就像服务部署为应用程序运行的独立站点一样,并为GET请求返回HTTPHandler问题,就像这个issue一样。但是,配置文件已经设置为答案所示。

请帮助任何人,因为这对我来说是一个真正的问题吗?

1 个答案:

答案 0 :(得分:1)

问题是由多种因素造成的。

1 :)父网站的网络配置没有正确设置,附带适当的标签(和)

<location path="xxxxxxx">
    <system.web>
  <customErrors mode="Off"/>
        <compilation targetFramework="4.5" />
        <httpRuntime targetFramework="4.5" />
        <httpHandlers>
          <add path="*" type="ServiceStack.WebHost.EndPoints.ServiceStackHttpHandlerFactory, ServiceStack" verb="*" />
        </httpHandlers>
  </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>
</loaction>

2 :)其中一个dll是针对应用程序池的错误架构而构建的。为应用程序池启用32位应用程序解决了这个问题。

简而言之,在部署到测试环境之前,尚未设置许多配置问题。