我正在使用带有 HTTPS (.NET 4.5) 的 WCF 自定义验证器。验证成功返回我想稍后使用的客户对象。目前,我可以使用我希望尽可能避免的静态变量来做到这一点。我尝试使用在主线程中变为 null 的 HttpContext 。我的理解Validate在不同的线程下运行。有什么方法可以在不涉及数据库或文件共享的情况下共享会话信息。在此处和此处查看相关主题。
在 Authentication.cs 中
public class CustomValidator : UserNamePasswordValidator
{
public override void Validate(string userName, string password)
{
//If User Valid then set Customer object
}
}
在 Service.cs 中
public class Service
{
public string SaveData(string XML)
{
//Need Customer object here. Without it cannot save XML.
//HttpContext null here.
}
}