9

ユーザー名とパスワードを指定することで、クライアント/コンシューマー アプリケーションがログインできるようにする単純な WCF サービスを用意しました。ユーザー名とパスワードの両方が正しい場合、WCF サービスはクライアントに GUID を提供します。GUID とユーザー名は、キーと値のペアとして WCF サービス内に格納されます。これ以降、クライアントは識別手段として、すべての要求で GUID を送信します。

キーと値のペアをディクショナリ/ハッシュマップに格納しているため、このアプローチは WCF サービスがステートフルである場合にのみ機能します。質問は、デフォルトでステートフルですか、それともそのように動作させるために何かしなければならないことがありますか?

4

2 に答える 2

9

呼び出しごとのサービスは、Windows Communication Foundation の既定のインスタンス化モードです。そのため、既定では、WCF サービスは状態を維持しません。Marc が述べたように、WCF サービスでの状態の保存には潜在的な問題があります。彼のアドバイスに耳を傾けることを強くお勧めします。

この記事では、要求どおりに状態を維持する方法など、WCF でインスタンス管理を処理するさまざまな方法について説明します。

Juval Lowy の優れた Programming WCF Services (リンク) の第 4 章では、さらに詳細に説明されています。

于 2011-05-18T20:33:15.457 に答える
4

それらはデフォルトでステートレスであり、可能であればそのままにしておくことを強くお勧めします。ただし、何らかの理由でそれができない場合は、状態を有効にすることができます。

wsHttpBinding または wsDualHttpBinding を使用してから、ServiceContract ( MSDN リンク) の SessionMode を許可または必須に設定する必要があります。より詳細に説明します。

于 2011-05-18T20:30:15.580 に答える