Я хочу иметь возможность сохранять переменные между вызовами моей службы 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
Я читал что-то о службе «Durable», но VS2010 позволяет мне выбирать только PerCall, PerSession и Single для InstanceContextMode.