由于各种原因,我希望能够在对 WCF 服务的调用之间保存变量。我有以下内容,但我读到使用“Single”是一个非常糟糕的主意。这确实是一个原型,没有什么重要的,但它确实有多个用户,我担心单个用户将意味着它在所有用户会话中设置相同的变量。有人可以确认/否认吗? 当我将它设置为 PerSession 时它根本不起作用,这在逻辑上是我认为我想要的。
<ServiceContract(Namespace:="")> _
<AspNetCompatibilityRequirements(RequirementsMode:=AspNetCompatibilityRequirementsMode.Allowed)> _
<ServiceBehavior(InstanceContextMode:=ServiceModel.InstanceContextMode.Single, ConcurrencyMode:=ServiceModel.ConcurrencyMode.Single)> _
Public Class MyServices
Public testint As Integer = 0
<WebGet()>
<OperationContract()> _
Public Function test1() As Boolean
testint = 42
return true
End Function
<WebGet()>
<OperationContract()> _
Public Function test2() As Integer
return testint
End Function
End Class
我读过一些关于“持久”服务的内容,但 VS2010 只允许我为 InstanceContextMode 选择 PerCall、PerSession 和 Single。