アプリケーション全体で、静的クラスを使用しtConfig.ConnectionString
て必要な接続文字列をダウンロードします。残念ながら、参照先がTransactionScope
. 現在、私はこのコードを持っていますが、静的クラスは私を StackOverflow エラーと呼んでいます。このクラス static (またはより良い解決策) で機能を実装するのを手伝ってください。
public static class tConfig
{
public static string ConnectionString
{
get {
if (System.Transactions.Transaction.Current != null)
return "ConnectionString with scope";
else
return "ConnectionString without scope";
}
}
}
[ServiceContract]
public interface IMyService
{
[OperationContract]
string GetData;
[OperationContract]
string GetDataWithScope;
}
public class MyService : IMyService
{
public string GetData
{
using (var context = new MyEntities(tConfig.ConnectionString)
{
return context.table1.where(x=>x.ID == 1).Select(x=> x.F_NAME).FirstOrDefault().ToString();
}
}
public string GetDataWithScope
{
using (TransactionScope transaction = new TransactionScope(TransactionScopeOption.Required, TimeSpan.FromSeconds(600)))
{
using (var context = new MyEntities(tConfig.ConnectionString)
{
return context.table1.where(x=>x.ID == 1).Select(x=> x.F_NAME).FirstOrDefault().ToString();
}
}
}
}