2016-04-14 107 views
0

私は、自分のASP.NET Web APIアプリケーションをAzureアプリケーションサービスにデプロイしました。 DBに保存するとき、私はこのエラーを取得:Promoteメソッドが分散トランザクションエラーの無効な値を返しました

  var connection = new SqlConnection(connstr); 
      connection.Open(); 

は法を推進する。これは、私が作成し、接続を開く方法です分散 取引のため

を無効な値が返さ私がconnection.Open();をコメントアウトしても、私はもはやそのエラーを取得しません。なぜ誰かが説明できますか?

答えて

0

このエラーは、トランザクションが分散トランザクションに昇格されていることを意味します。私が知る限り、DCOMはAzure WebAppではサポートされていません(間違っているかもしれませんが、問題はまだここにあるようです)。 複数のsqlconnectionをスコープで開きますか?

+0

助けてくれてありがとう。それはネストされたトランザクションやsqlconnectionsの間に発生します..しかし、私が述べたように、私はconnection.Open();それは私に心配させてくれるでしょう。 –

+0

ああ、大丈夫です。そのため、1つのトランザクションスコープの内部で多くの接続を開くと、トランザクションスコープが上昇する可能性があります。 SQLTransactionを使用しようとしますか?私は接続文字列でENLIST = FALSEを見ましたが、自分でそれを試しませんでした。私はそれが生産のためにOKであるかどうかはわかりませんが、テストの努力として試してみてください。それが助けにならない場合は、さらにトラブルシューティングをしましょう。 –

関連する問題