ServiceStack の Web サイトによると、Mono を使用して Linux で ServiceStack を簡単に起動して実行できるはずです。システムにnginx、mono 3.0、およびfastcgiをインストールしました(Ubuntu 12.10)。このチュートリアルを使用して、Nginx と fastcgi を実行しました。MonoDevelop でプロジェクトを右クリックし、[ツール] -> [Web にデプロイ] を選択しました。これにより、デプロイするファイルが生成されます。次に、dll を Ubuntu の /var/www/project_folder にコピーしました。次にNginxとfastcgiを起動しました。私の web.config ファイルは次のようになります。
<?xml version="1.0"?>
<configuration>
<system.web>
<customErrors mode="Off"/>
<httpHandlers>
<add path="*" type="ServiceStack.WebHost.Endpoints.ServiceStackHttpHandlerFactory, ServiceStack" verb="*" />
</httpHandlers>
<compilation>
<assemblies>
<add assembly="System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
</assemblies>
</compilation>
</system.web>
<!-- Required for IIS 7.0 (and above?) -->
<system.webServer>
<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>
</configuration>
サーバーに XSP を追加していません。サーバー (リモート アドレス) の Web ページにアクセスすると、ServiceStack.WebHost.Endpoints.ServiceStackHttpHandlerFactory が見つからないというエラーが表示されます。web.config ファイルは、この ServiceStackHttpHandlerFactory を含む dll と同じフォルダーにあります。
これを引き起こしているアイデアはありますか?