2

私は2つのサーバーWebサーバーとアプリサーバー上のアプリサーバーを持っており、WCFを実行しています。wcf の任意の関数で、System.Web.HttpContext.Current.User を使用して現在のユーザーを取得しようとしていますが、null を取得していますが、パラメーターを使用して任意の関数に移動せずにユーザーを取得する方法はありますか?

4

2 に答える 2

2

WCF は、ASP.NET だけでなく、任意の数のホストで実行できるため、ASP.NET から距離を置こうとします。これにより、ASP.NET パイプの大きなチャンクを切り取ることができ、スループットが向上します。以下を追加することで、強制的に ASP.NET モードを使用することができます。

<serviceHostingEnvironment aspNetCompatibilityEnabled="true"/>

ただし、率直に言って、代わりにスレッド プリンシパルを使用する方がよいでしょう (IMO)。WCF は、プリンシパル モデルを完全にサポートしています。

于 2013-04-23T08:11:54.147 に答える
1

使ってみてくださいServiceSecurityContext.Current.PrimaryIdentity

于 2013-04-23T08:10:18.980 に答える