1

さまざまな理由で、WCFサービスへの呼び出し間で変数を保存できるようにしたいと考えています。私は次のように機能しますが、「シングル」を使用するのは本当に悪い考えだと読みました。これは実際にはプロトタイプであり、重要なことではありませんが、複数のユーザーがいるため、単一の場合は、すべてのユーザーセッションで同じ変数が設定されることを意味します。誰かがこれを確認/拒否できますか? 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

セッション処理に関する WCF ドキュメント ( MSDN ) を確認してください。プロトタイプを作成している場合は、セッション キーと組み合わせて値をダンプできる静的辞書を作成できます。

于 2012-06-18T06:40:01.253 に答える