2016-04-14 17 views
0

私たちはいくつかのネイティブモバイルアプリケーションを開発しています。これらのアプリケーションはRESTサービスを使用します。それはWCFサービスです。我々はいくつかの詳細を保持するためにWCFでHttpContext.Current.Session["Key"]=Valueを使用しています。RESTful WCFサービスはセッションデータを保持できますか?

WCFサービスは、Windowsクライアントのセッション情報を保持できますか?

参考:WCF sessions with a wsHttpBinding and without windows security

答えて

2

は、WCFサービスは、Windowsクライアントのセッション情報を保持することはできますか?

まず、 - wsHttpBindingがサポートセッションを行いながら、それはないRESTfulな結合であるため、リンク先の記事は関係ありません。

WCFでRESTサービスをホストしている場合、WCFのRESTサービスで使用されるバインディングであるwebHttpBindingはセッションをサポートしていないため、ネイティブセッションにアクセスできません。

したがって、HttpContext.Currentにアクセスできますが、Sessionプロパティはnullになります。

第2に、セッションの使用がRESTfulプリンシパルに違反していると主張しています(hereを参照)。これは、HTTPが本質的にステートレスになるように設計されたためです。

セッションが本当に必要な場合は、SOAPベースのバインディング(wsHttpBindingなど)を使用するか、サービス自体に特定のユーザーの状態を格納する方法を実装する必要があります。

関連する問題