2008 アプリケーション サーバーで実行されている msmq を使用する .net 3.5 Windows サービスがあります。このサービスは、データベース サーバー上の SQL 2005 データベースと通信します。
2008 Web サーバーの aspx ページからこのサービスを呼び出すと、以下のエラーが発生します。
「分散トランザクション マネージャー (MSDTC) のネットワーク アクセスが無効になっています。コンポーネント サービス管理ツールを使用して、MSDTC のセキュリティ構成でネットワーク アクセスの DTC を有効にしてください。トランザクション マネージャーは、リモート/ネットワーク トランザクションのサポートを無効にしました。(HRESULT からの例外) : 0x8004D024)」
この指示に従いましたが、うまくいきませんでした。
コードをデバッグすると、ExecuteNonQuery メソッドを使用してストアド プロシージャを実行しようとしている Windows サービス コードの行で上記のエラーがスローされます。
ここで何が欠けていますか?
参考までに、Web サーバー上の私の web.config は次のようになります。
<netMsmqBinding>
<binding name="NetMsmqBinding_IWcfEmailService" closeTimeout="00:01:00"
openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
deadLetterQueue="System" durable="true" exactlyOnce="true"
maxReceivedMessageSize="5000000" maxRetryCycles="2"
receiveErrorHandling="Fault"
receiveRetryCount="5" retryCycleDelay="00:30:00" timeToLive="1.00:00:00"
useSourceJournal="false" useMsmqTracing="false" queueTransferProtocol="Native"
maxBufferPoolSize="524288" useActiveDirectory="false">
<readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
maxBytesPerRead="4096" maxNameTableCharCount="16384" />
<security mode="None">
<transport msmqAuthenticationMode="WindowsDomain"
msmqEncryptionAlgorithm="RC4Stream"
msmqProtectionLevel="Sign" msmqSecureHashAlgorithm="Sha1" />
<message clientCredentialType="Windows" />
</security>
</binding>
</netMsmqBinding>