stateservice.cs

来自「C#高级编程第6版随书源代码 值得下载」· CS 代码 · 共 50 行

CS
50
字号
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;
using System.Globalization;

namespace Wrox.ProCSharp.WCF
{
   [ServiceBehavior(InstanceContextMode = InstanceContextMode.PerSession)]
   public class StateService : IStateService
   {
      int i = 0;

      public void Init(int i)
      {
         this.i = i;
      }

      public void SetState(int i)
      {
         if (i == -1)
         {
            FaultReasonText[] text = new FaultReasonText[2];
            text[0] = new FaultReasonText("Sample Error", new CultureInfo("en"));
            text[1] = new FaultReasonText("Beispiel Fehler", new CultureInfo("de"));
            FaultReason reason = new FaultReason(text);

            throw new FaultException<StateFault>(
               new StateFault() { BadState = i }, reason);
         }
         else
         {
            this.i = i;
         }
      }

      public int GetState()
      {
         return i;
      }

      public void Close()
      {
      }
   }

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?