![]() |
Модераторы: gambit |
![]() ![]() ![]() |
|
AleXGray |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 126 Регистрация: 18.1.2007 Репутация: нет Всего: 1 |
Написал я защищенный сервис WCF, на локальном компе работал.
Проблемы возникли, когда выложил на сервер в IIS 7.5 При объеме данных, который передается меньше чем за 4 минуты, сервис отрабатывает правильно. При увеличении объема данных, либо при ухудшении интернета данные передаются больше 4 минут и сервис вылетает с ошибкой. При отключении секьюрити (Message Mode="None"), при длительной передаче данных ошибки не возникает. текст ошибки
+
все таймауты, которые в binding накручивал. В любом случае ни один из них и близко не равняется 4 минутам. Повторюсь, без секьюрити все работает. Если я правильно понял, причина в том, что сессия устаревает пока после ее установления данные наконец загрузятся и потом эти данные просто не признаются за подлинные. Вопрос в том, как это поправить? Это сообщение отредактировал(а) AleXGray - 19.5.2011, 16:37 --------------------
В начале было Слово |
||||
|
|||||
jonie |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 15 Всего: 118 |
1) зачем защищать сами сообщения, если можно защитить весь канал (SSL\TLS) ? Это быстрее (cpu не так кушается) и проще (тем более в IIS - два тыка мышкой чтобы применить сертификат).
2) что в логах WCF на сервере? (http://msdn.microsoft.com/en-us/library/ms730064.aspx) 3) прочтите тут: http://stackoverflow.com/questions/968939/...session-timeout Это сообщение отредактировал(а) jonie - 21.5.2011, 11:52 -------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
AleXGray |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 126 Регистрация: 18.1.2007 Репутация: нет Всего: 1 |
Я не знаю ни одного timeout, ни в wcf ни в httpRuntime где 4 минуты выставлено по умолчанию. Эти 4 минуты разрешения на передачу защищенного контекста работают как часы.
1. Transport несовместим с UserName аутентификацией. Поэтому было выбрано Message. Быстродействие и нагрузка на процессор меня вполне удовлетворяют на данном этапе. TransportWithMessage буду пробовать, но если я правильно понимаю вопрос, ничего ровным счетом от этого измениться не должно. Я так понимаю что должно работать и при Message, она ж для чего то да сделана. 2. Логи сервера я как раз и привел. 3. reliable я не использую вообще. Наверное приведу конфиги, чтобы не было лишних вопросов Клиент:
Сервер:
--------------------
В начале было Слово |
||||
|
|||||
jonie |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 15 Всего: 118 |
почему это несовместим? http://msdn.microsoft.com/en-us/library/ff649647.aspx http://www.leastprivilege.com/FinallyUsern...ationInWCF.aspx -------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
AleXGray |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 126 Регистрация: 18.1.2007 Репутация: нет Всего: 1 |
несовместим при wsHttp, наверное нужно было сказать.
Но Вы правы, в принципе на ws свет клином не сошелся, попробую настроить по Вашим ссылкам. --------------------
В начале было Слово |
|||
|
||||
AleXGray |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 126 Регистрация: 18.1.2007 Репутация: нет Всего: 1 |
The HTTP request is unauthorized with client authentication scheme 'Basic'. The authentication header received from the server was 'Basic realm="manor-medical.info"'.
Если же ставить TransportWithMessageSecurity и message UserName, то получается странная вещь: логин пароль не проверяется вообще. Подходит любой. Это сообщение отредактировал(а) AleXGray - 22.5.2011, 18:18 --------------------
В начале было Слово |
|||
|
||||
AleXGray |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 126 Регистрация: 18.1.2007 Репутация: нет Всего: 1 |
Все таки пришлось использовать TransportWithMessageCredential, но с basicHttpBinding. Идея отойти от ws была верной. Спасибо.
Хотя первоначальный вопрос и остался, но теперь он теоретический а не "горящий". --------------------
В начале было Слово |
|||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, cully, mr.DUDA, Exception. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Распределённые приложения и сеть | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |