Привет,
У меня есть сервис, который выглядит так:
[ServiceBehavior(Name = "MyAppClientService", Namespace = "http://MyApp.ServiceContracts/2007/11", InstanceContextMode = InstanceContextMode.PerSession)]
public class MyAppClientService : IMyAppClientService
[ServiceContract(Namespace = "http://MyApp.ServiceContracts/2007/11", Name = "IMyAppClientService", SessionMode = SessionMode.Required, CallbackContract = typeof(IMyAppClientServiceCallback))]
public interface IMyAppClientService
На сервисе я получил такой класс Singelton>> 1008 *
public class SharedContext
{
protected Dictionary<Guid, UserContextOnService> _userContextDictionary = new Dictionary<Guid, UserContextOnService>();
public static SharedContext Instance
{
get
{
if (_instance == null)
_instance = new SharedContext();
return _instance;
}
}
}
Сначала я захожу с client1, я вижу, что userContextDictionary содержит только один (правильно).Затем я вхожу в систему с client2 (в то время как client1 работает), и я вижу, что userContextDictionary имеет счет 2?
Как это работает?Сервис настроен на PerCall?Разве это не означает, что у каждого сеанса есть свой экземпляр службы?
Я ищу решение для службы синглтон, но мне интересно, как это работает?Если служба работала в разных экземплярах, то у вас не должно быть возможности обмениваться данными?
BestRegards