次のコーディングを使用したWCFサービスがあります。
using (TransactionScope transScope = new TransactionScope(TransactionScopeOption.Required, new TransactionOptions { IsolationLevel = System.Transactions.IsolationLevel.ReadUncommitted }))
{
security = new Security(GetConnection(SecurityConstants.DatabaseName));
int userExists = security.UserRegistered(UserID,Pass);
transScope.Complete();
}
ここに表示されているように、IExecuteResultによってクエリを実行するための同じメソッドがDBAレイヤーにあります。
[Function(Name = SecurityConstants.SP_Name)]
public UserRegistered<IntegerOutput> IsUserExist(
[Parameter(Name = "USERID", DbType = "VarChar(15)")] string userID,
[Parameter(Name = "pass", DbType = "VarChar(25)")] string pass
)
{
IExecuteResult result = this.ExecuteMethodCall(this,((MethodInfo) (MethodInfo.GetCurrentMethod())), userID, pass);
return ((ISingleResult<IntegerOutput>)(result.ReturnValue));
}
さらに、MSDTCの構成を確認しましたが、アプリケーションを実行すると、「基になるトランザクションマネージャーとの通信に失敗しました」というエラーが発生します。ローカルマシンとサーバー側でDTCを有効にしましたが、まだ問題があります。ネットワーク設定用か、ローカルマシン用か、それとも他のものか教えていただけますか?手伝っていただけませんか。