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