異なる契約に基づいて複数の RESTful サービスをホストすることを計画しています。似たような質問がたくさんありますが、私の web.config ファイルは異なって見えます。理由はわかりません。
ここに私の web.config ファイルの一部があります:
<standardEndpoints>
<webHttpEndpoint>
<standardEndpoint name=""
helpEnabled="true"
automaticFormatSelectionEnabled="true">
</standardEndpoint>
</webHttpEndpoint>
</standardEndpoints>
私のWebアプリケーションでのサービス宣言は次のとおりです。
RouteTable.Routes.Add(new ServiceRoute("bob/chocolate", new WebServiceHostFactory(), typeof(RESTchocolate)));
RouteTable.Routes.Add(new ServiceRoute("bob/vanilla", new WebServiceHostFactory(), typeof(RESTvanilla)));
最初のルートのみが機能しているようです (.NET の "bob/chocolate/help" エンドポイント機能を使用して使用可能なメソッドを一覧表示することをテストしました)。これを行う方法を知っている人はいますか?何か他のものを変更する必要がありますか?
疑問に思っている人のために、私の契約は有効です。
ブラウザで 2 番目のエンドポイントに到達しようとすると、適切な .NET ディスプレイに「エンドポイントが見つかりません」と表示されます。
編集 :
次のノードを構成ファイルに追加しました...
<services>
<service name="chocolate">
<endpoint address="bob/chocolate" binding="basicHttpBinding" name="chocolate" contract="RESTapi.IRESTchocolate" />
</service>
<service name="vanilla">
<endpoint address="bob/vanilla" binding="basicHttpBinding" name="vanilla" contract="RESTapi.IRESTvanilla" />
</service>
</services>
しかし、私は同じ動作をします。問題はまだここにあります
編集:そして、ここに要求された完全な構成ファイルがあります(上記のノードなし):
<?xml version="1.0"?>
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.0" />
<authentication mode="None"></authentication>
</system.web>
<system.serviceModel>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true">
</serviceHostingEnvironment>
<standardEndpoints>
<webHttpEndpoint>
<standardEndpoint name="" helpEnabled="true" automaticFormatSelectionEnabled="true"></standardEndpoint>
</webHttpEndpoint>
</standardEndpoints>
</system.serviceModel>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>
</configuration>