我有一个非常简单的服务:
[ServiceContract]
public interface IPncService
{
[System.ServiceModel.Web.WebGet(UriTemplate = "set/{val}")]
[OperationContract]
bool SetVariable(string val);
[System.ServiceModel.Web.WebGet(UriTemplate = "get")]
[OperationContract]
string GetVariableVal();
}
[ServiceBehavior(InstanceContextMode = InstanceContextMode.PerSession)]
public class PncService : IPncService
{
string someVariable;
public bool SetVariable(string val)
{
if (string.IsNullOrWhiteSpace(val))
return false;
else
{
someVariable = val;
return true;
}
}
public string GetVariableVal() {
return someVariable;
}
}
为什么变量someVariable
在每个会话中不保留其值?
换句话说,如果我这样做:
然后转到:
为什么是 的值someVariable = null
?这是一个不同的会话吗?我在调用 set 方法后立即在同一个浏览器上调用该方法......