1

現在、Service Stack サービスを UAT 本番サーバーにデプロイするのに問題があります。当社の開発およびテスト環境では、サービスは正しく機能し、期待どおりにアクセスできます。

ただし、Web サイトが UAT サーバーにデプロイされると、サービスが利用できなくなり、404 エラーが返されます。

アプリケーションが最初にデプロイされたとき、MVC dll が見つからないために例外が発生しました。これらの dll はすべて bin フォルダーに配置され、アプリケーションは 404 エラーを返しました。

UAT 環境では、IIS Web サイトへのアプリケーションとしてサービスが追加されます。

アプリケーション エラー ページが間違ったエラー メッセージを返している可能性があります。サービスがスタンドアロン サイトとして展開されている場合、アプリケーションが実行され、この問題とまったく同じように GET 要求に対して HTTPHandler 問題が返されます。ただし、答えが示唆するように、構成ファイルはすでにセットアップされています。

現時点でこれが私にとって本当の問題を引き起こしているので、誰か助けてもらえますか?

4

1 に答える 1

1

この問題は、いくつかの要因によって引き起こされました。

1:) 親サイトの Web 構成は、適切な設定 ( および ) の周りのタグで正しくセットアップされていませんでした。

<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 の 1 つが、アプリケーション プールの不適切なアーキテクチャにビルドされていました。アプリ プールで 32 ビット アプリケーションを有効にすると、これが解決されました。

つまり、テスト環境への展開前に設定されていなかった多くの構成の問題がありました。

于 2013-08-30T14:43:28.527 に答える