こんにちは、私の設定である http + tcp サービスを持つ wcf に取り組んでいます:
<system.serviceModel>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true">
<baseAddressPrefixFilters>
<add prefix="http://localhost/API/"/>
</baseAddressPrefixFilters>
</serviceHostingEnvironment>
<standardEndpoints>
<webHttpEndpoint>
<standardEndpoint name="" helpEnabled="true" automaticFormatSelectionEnabled="true"/>
</webHttpEndpoint>
</standardEndpoints>
<services>
<service name="API.APIsrv" behaviorConfiguration="ServiceBehaviour">
<endpoint address="http://localhost/tAPI/Basic" binding="basicHttpBinding" name="Basic" bindingConfiguration="Basic" contract="API.IAPIsrv" >
</endpoint>
<endpoint address="http://localhost/API" binding="webHttpBinding" name="APIsrv" contract="API.IAPIsrv" behaviorConfiguration="web">
</endpoint>
<endpoint address="net.tcp://localhost/API" binding="netTcpBinding" name="APIsrv.netTcpBinding" contract="API.IAPIsrv">
</endpoint>
<endpoint address="http://localhost/API/mex"
binding="mexHttpBinding"
contract="IMetadataExchange" />
<endpoint address="net.tcp://localhost/API/mex"
binding="mexTcpBinding"
contract="IMetadataExchange" />
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="ServiceBehaviour">
<serviceMetadata httpGetEnabled="true" httpGetUrl="http://localhost/API/APIsrv.svc"/>
<serviceDebug includeExceptionDetailInFaults="true"/>
</behavior>
</serviceBehaviors>
<endpointBehaviors>
<behavior name="web">
<webHttp helpEnabled="true"/>
</behavior>
</endpointBehaviors>
</behaviors>
<bindings>
<basicHttpBinding>
<binding name="Basic" />
</basicHttpBinding>
<netTcpBinding>
<binding name="APIsrv.netTcpBinding" transferMode="Streamed" maxReceivedMessageSize="20480000">
<security mode="None"></security>
</binding>
</netTcpBinding>
</bindings>
私のグローバルファイルでは、ルートアドレスを処理します:
protected void Application_Start(object sender, EventArgs e)
{
RouteTable.Routes.Add(new ServiceRoute("", new ServiceHostFactory(), typeof(APIsrv)));
}
私のローカル クライアント テストでは、次のエラーが表示されます。コンパイル中に例外が発生したため、サービス '/API/' をアクティブにできません。例外メッセージ: The ChannelDispatcher at 'http://localhost/API/Basic' with contract(s) '"IAPIsrv"' は、その IChannelListener を開くことができません。
この問題を解決するにはどうすればよいですか