1

由于各种原因,我希望能够在对 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。

4

1 回答 1

0

查看关于会话处理 ( MSDN )的 WCF 文档

于 2012-06-18T06:40:01.253 回答