title: WCF InstanceContextMode.PerSession
body: <p>if I use this: InstanceContextMode.PerSession, then for every client I initialize my service one time. Am I right?</p>
  
  <p><strong>If I call a method that have [OperationBehavior(TransactionScopeRequired = true)], JobImplement constructor gets called. Why?</strong></p>
  
  <p>My Service:</p>
  
  <pre><code>[ServiceBehavior(InstanceContextMode = InstanceContextMode.PerSession)]
      public class JobImplement : IJob
      {
          public static int Sum = 0;
          public JobImplement()
          {
              Sum++;
          }
          [OperationBehavior(TransactionScopeRequired = true)]
          public void UselessMethod1()
          {
          }
          [OperationBehavior(TransactionScopeRequired = true)]
          public void AddEmployee(string Name, string Age)
          {
          }
          public int GetSum()
          {
              return Sum;
          }
      }
  </code></pre>
  
  <p><strong>EDIT 1:</strong></p>
  
  <p>Im using WSHttpBinding binding and here is my only client code.</p>
  
  <p>My client:</p>
  
  <pre><code>static void Main(string[] args)
          {
              ServiceReference1.IJob Service1 = new ServiceReference1.JobClient();
              Service1.UselessMethod1();//sum become [1]
              Service1.AddEmployee("","");//sum become [2]
              Console.WriteLine(Service1.GetSum());//show [2].
              Console.WriteLine(Service1.GetSum());//show [2].
              Console.WriteLine(Service1.GetSum());//show [2].
          }
  </code></pre>