0

マルチエンドポイント WCF サービスを作成して使用しましたが、正常に動作しています。

しかし、サービス クライアントを閉じようとすると、エラーが発生します。

これは、クライアント オブジェクトを作成し、単一のエンドポイント WCF サービスに対して正常に動作するように破棄する方法です。

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        ICardPrintingService Service = null;
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            Service = new CardPrintingServiceClient();
            var response = this.Service.GetCardData(new GetCardDataRequest { NIK = 6666620501740003 });
            try
            {
                ((CardPrintingServiceClient)Service).Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show("error");
            }
        }
    }
}

これは、エラー メッセージで接続を閉じるときに catch ブロックに送られます

リモート エンドポイントは、このシーケンスを認識しなくなります。これは、リモート エンドポイントでの中止が原因である可能性が最も高いです。wsrm:Identifier の値は、既知のシーケンス ID ではありません。信頼できるセッションに障害が発生しました。

理由を教えてもらえますか?

事前にたくさんありがとう

ラガヴェンドラ

4

1 に答える 1

0

ここでキャストする必要は何ですか。

((CardPrintingServiceClient)Service).Close(); //pls explain this.

これは、finally ブロックで試すことができます。

if (Service.State != System.ServiceModel.CommunicationState.Closed)
  {
     Service.Abort();
  }
于 2012-04-13T12:52:30.473 に答える