1

現在、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" %>

どんな助けやアイデアも大歓迎です。

4

0 に答える 0