1

ローカル開発環境で構成した WCF サービスがあり、自己署名証明書を使用して IIS を実行するため、wsHttpBinding を使用して SSL とトランザクションをサポートできます。

IIS 7.5 を実行しているローカルの Win7 マシンでは、すべて正常に動作します。

IIS 7.5 を実行している Win2008 R2 サーバーにサービス アプリを展開しています。

アプリケーション プールは、統合された .NET 4.0 用に構成されています。

ビルドを実行して開発サーバーにデプロイすると、サービスの 1 つが InvalidOperation 例外をスローし続け、サービスが使用している 'WebHttpBinding' に transactionflow 属性が設定されていないことを示します。

web.config で構成したバインディングは 2 つだけです。

<bindings>
  <basicHttpBinding>
    <binding name="BasicHttpBinding_IRetrieval" closeTimeout="infinite" openTimeout="infinite" receiveTimeout="infinite" sendTimeout="infinite" allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard" maxBufferSize="2147483647" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647" messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered" useDefaultWebProxy="true">
      <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
      <security mode="None">
        <transport clientCredentialType="None" proxyCredentialType="None" realm="" />
        <message clientCredentialType="UserName" algorithmSuite="Default" />
      </security>
    </binding>
  </basicHttpBinding>
    <wsHttpBinding>
        <binding name="wsHttpEndpointBinding" transactionFlow="true">
          <security mode="Transport">
            <transport clientCredentialType="None" />
          </security>
        </binding>
    </wsHttpBinding>
</bindings>

構成された WebHttpBinding に属性が設定されていないというエラーが表示されるのはなぜですか? 構成で指定されたそのタイプのバインディングすらありません。

ここで宣言した wsHttpBinding も使用する別のサービスがあり、そのサービスは正常に動作します。したがって、この時点で、一方が機能し、もう一方がエラーをスローしている理由について、私はかなり固執しています。

私はトランザクション必須としてタグ付けされたサービスを持っており、それを説明するためにすべてをセットアップしています。

私のサービスの 1 つが壊れていて、もう 1 つが正常である理由を知っている人はいますか?

4

0 に答える 0