powered by simpleCommunicator - 2.0.46     © 2025 Programmizd 02
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / кэширование токена (пользовательского маркера) у WCF клиента
1 сообщений из 1, страница 1 из 1
кэширование токена (пользовательского маркера) у WCF клиента
    #38389063
Кифирчик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Господа, спасите, 2й день взрываю мозг

есть некоторый WCF клиент (wsHttpBinding + сертфикат + кастомная авторизация по логину и паролю)
Код: c#
1.
2.
3.
4.
5.
6.
            using (LoginTestClient proxy1 = new LoginTestClient())
            {
                proxy1.ClientCredentials.UserName.UserName = "1";
                proxy1.ClientCredentials.UserName.Password =  "";
                Console.WriteLine(proxy1.Fun2());
            }


чудесно работает, но при подобном использовании (using) при каждом вызове дергается авторизация

как я понял из гугления, решением проблемы будет token caching или durable token. При котором, при первом вызове происходит авторизация, токен запоминается (кэшируется) и при последующем создании клиента - вытягивается из кэша без повторной авторизации.

нашел два подходящих решения
http://msdn.microsoft.com/en-us/library/aa717045.aspx и http://weblogs.asp.net/cibrax/archive/2006/03/27/441227.aspx
По сути оба одно и тоже, и нифига не получается заставить это работать.
успешно подтягивается кастомный clientCredentials
но в функции
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
        public override SecurityTokenProvider CreateSecurityTokenProvider(SecurityTokenRequirement tokenRequirement)
        {
            if (IsIssuedSecurityTokenRequirement(tokenRequirement))
            {
                return new DurableSecurityTokenProvider(
                    (IssuedSecurityTokenProvider) base.CreateSecurityTokenProvider(tokenRequirement)
                    , this.cache);
            }
            else
            {
                return base.CreateSecurityTokenProvider(tokenRequirement);
            }
        }



всегда попадаю на строчку return base.CreateSecurityTokenProvider(tokenRequirement);
игнорится обращение к кэшу.
IsIssuedSecurityTokenRequirement(tokenRequirement) всегда false

Как заставить клиента использовать кэш?
всякие ClientCredentials.IssuedToken.CacheIssuedTokens = true; - не помогают(((

Что я делаю не так?
в приложении солюшн для VS12 с тестовым приложением
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / кэширование токена (пользовательского маркера) у WCF клиента
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]