現在、WSDL に対して小さな WCF ルーティング アプリケーションを作成しようとしています。しかし、SVC ファイルにアクセスしようとすると、次のエラーが発生します。
コントラクトにはセッションが必要ですが、バインディング 'BasicHttpBinding' がそれをサポートしていないか、サポートするように適切に構成されていません。
SOAP12 のカスタムバインディングを使用しているため、このエラー メッセージがわかりません。私はすでにここで検索しましたが、他の関連するスレッドには、役に立たなかったコメントが 1 つだけありました。( https://stackoverflow.com/questions/9896593/wcf-4-routing-service-and-configuration-error )
私のweb.configは次のとおりです。
<?xml version="1.0"?>
<configuration>
<appSettings/>
<connectionStrings/>
<system.web>
<compilation debug="false" targetFramework="4.0">
</compilation>
<authentication mode="Windows"/>
<pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID"/></system.web>
<system.serviceModel>
<services>
<service name="RoutingService" behaviorConfiguration="RoutingServiceBehavior">
<host>
<baseAddresses>
<add baseAddress="http://localhost/FrontendSoap/Routingservice.svc"/>
</baseAddresses>
</host>
<endpoint name="RequestReplyBinding" binding="customBinding" bindingConfiguration="AnfragenBulk" contract="System.ServiceModel.Routing.IRequestReplyRouter"/>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="RoutingServiceBehavior">
<serviceMetadata httpsGetEnabled="True"/>
<routing filterTableName="routingFilterTable"/>
</behavior>
</serviceBehaviors>
</behaviors>
<client>
<endpoint name="VerfuegbarkeitAnfragenBulkPort" address="http://localhost/BackendSoap/BackendBulkService.svc" binding="customBinding" bindingConfiguration="AnfragenBulk" contract="VerfuegbarkeitAnfragenBulkService.VerfuegbarkeitAnfragenBulk"/>
</client>
<routing>
<filters>
<filter name="WebIFFilter" filterType="EndpointName" filterData="RequestReplyBinding"/>
</filters>
<filterTables>
<filterTable name="routingFilterTable">
<add filterName="WebIFFilter" endpointName="VerfuegbarkeitAnfragenBulkPort"/>
</filterTable>
</filterTables>
</routing>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true"/>
<bindings>
<customBinding>
<binding name="AnfragenBulk">
<textMessageEncoding maxReadPoolSize="64" maxWritePoolSize="16"
messageVersion="Soap12" writeEncoding="utf-8">
<readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
maxBytesPerRead="4096" maxNameTableCharCount="16384" />
</textMessageEncoding>
<httpTransport manualAddressing="false" maxBufferPoolSize="524288"
maxReceivedMessageSize="65536" allowCookies="false" authenticationScheme="Anonymous"
bypassProxyOnLocal="true" decompressionEnabled="true" hostNameComparisonMode="StrongWildcard"
keepAliveEnabled="true" maxBufferSize="65536" proxyAuthenticationScheme="Anonymous"
realm="" transferMode="Buffered" unsafeConnectionNtlmAuthentication="false"
useDefaultWebProxy="true" />
</binding>
</customBinding>
</bindings>
</system.serviceModel>
</configuration>
そして、RoutingService.svc:
<%@ ServiceHost Language="C#" Debug="true" Service="System.ServiceModel.Routing.RoutingService, System.ServiceModel.Routing, version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" %>
どんな助けやアイデアも大歓迎です。