我目前很难将服务堆栈服务部署到我们的UAT生产服务器。在我们的开发和测试环境中,服务正常运行,可以按预期访问。
但是,当网站部署到UAT服务器时,该服务不可用并返回404错误。
首次部署应用程序时,由于缺少MVC dll而引发了异常。这些dll都放在bin文件夹中,应用程序返回404错误。
在UAT环境中,该服务作为IIS网站的应用程序添加。
可能是应用程序错误页面返回了错误的错误消息,就像服务部署为应用程序运行的独立站点一样,并为GET请求返回HTTPHandler问题,就像这个issue一样。但是,配置文件已经设置为答案所示。
请帮助任何人,因为这对我来说是一个真正的问题吗?
答案 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位应用程序解决了这个问题。
简而言之,在部署到测试环境之前,尚未设置许多配置问题。