2

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>
4

3 に答える 3

1

msdtcを有効にする必要があります。見る:

SQL ServerでMSDTCを有効にするにはどうすればよいですか?

また、SQL Serverに接続を許可する必要があることを伝える必要があります(リモートTCP?)。これは、SQLServerのサーフェス領域の構成から実行できます。

于 2009-06-26T19:21:15.270 に答える
0

リモートアクセス用に DTC を有効にしていると思います...

Administrative Tools –&gt; 
Component Services –&gt; 
My Computer properties –&gt;
MSDTC tab –&gt; 
Security Configuration tab –&gt;
Network DTC Access (checked) 

その場合は、便利なDTC トラブルシューティング ガイドをご覧ください。これは BizTalk 中心ですが、概念は同じです。

于 2009-06-26T19:31:14.703 に答える
-1

dbサーバーでもネットワークアクセスを有効にしてみましたか? ドライバーがトランザクションに参加する方法を制御するために指定できる、接続に関するいくつかのオプションもあります。

于 2009-04-08T00:47:47.080 に答える