Silverlight対応の WCF サービスがありますが、そのうちの 1 つのメソッドには [STAOperationBehavior] 属性が絶対に必要です。ユーザーのユーザー詳細 (フォーム認証) にアクセスする必要がありますが、[STAOperationBehavior] 属性が適用されている間、Membership.GetUser() は失敗します。
すなわち
[STAOperationBehavior]
[OperationContract]
public string DoWork(int inputStuff)
{
Membership.GetUser();//Fails
}
しかし
//NOT ON STA THREAD
[OperationContract]
public string DoWork(int inputStuff)
{
Membership.GetUser();//Works
}
このメソッドでユーザー情報にアクセスするにはどうすればよいですか? または、このメソッドにユーザーの情報を提供するにはどうすればよいですか?