다음을 통해 공유


ChannelDispatcher.TransactionIsolationLevel 속성

정의

트랜잭션의 기본 격리 수준을 가져오거나 설정합니다.

public:
 property System::Transactions::IsolationLevel TransactionIsolationLevel { System::Transactions::IsolationLevel get(); void set(System::Transactions::IsolationLevel value); };
public System.Transactions.IsolationLevel TransactionIsolationLevel { get; set; }
member this.TransactionIsolationLevel : System.Transactions.IsolationLevel with get, set
Public Property TransactionIsolationLevel As IsolationLevel

속성 값

IsolationLevel

IsolationLevel 값 중 하나입니다. 기본값은 Unspecified입니다.

예외

격리 수준 설정이 정의되지 않은 경우

통신 개체가 Opening 또는 Opened 상태에 있는 경우

통신 개체가 Closing 또는 Closed 상태에 있는 경우

통신 개체가 Faulted 상태에 있는 경우

예제

Uri baseAddress = new Uri("http://localhost:8001/Simple");
ServiceHost serviceHost = new ServiceHost(typeof(CalculatorService), baseAddress);

serviceHost.AddServiceEndpoint(
    typeof(ICalculator),
    new WSHttpBinding(),
    "CalculatorServiceObject");

serviceHost.Open();

IChannelListener icl = serviceHost.ChannelDispatchers[0].Listener;
ChannelDispatcher dispatcher = new ChannelDispatcher(icl);
dispatcher.TransactionIsolationLevel = System.Transactions.IsolationLevel.ReadCommitted;
Dim baseAddress As New Uri("http://localhost:8001/Simple")
Dim serviceHost As New ServiceHost(GetType(CalculatorService), baseAddress)

serviceHost.AddServiceEndpoint(GetType(ICalculator), New WSHttpBinding(), "CalculatorServiceObject")

serviceHost.Open()

Dim icl As IChannelListener = serviceHost.ChannelDispatchers(0).Listener
Dim dispatcher As New ChannelDispatcher(icl)
dispatcher.TransactionIsolationLevel = System.Transactions.IsolationLevel.ReadCommitted

설명

서비스의 디스패처에서 만든 새 트랜잭션의 기본 격리 수준을 가져오거나 설정하려면 TransactionIsolationLevel 속성을 사용합니다.

이 속성은 ChannelDispatcher의 인스턴스가 Created 상태에 있는 경우에만 설정할 수 있는데 그 이유는 이 상태가 변경 가능하면서 삭제되지 않은 유일한 상태이기 때문입니다.

적용 대상