|
Модераторы: gambit |
|
Fighter |
|
||||
Опытный Профиль Группа: Участник Сообщений: 810 Регистрация: 5.1.2005 Репутация: нет Всего: 2 |
Служба хостится как windows-служба, binding = basicHttpBinding.
Вот интерфейс службы:
Мне необходимо чтобы, например, при вызове Method1() данные сохранялись бы в какой-либо переменной, и чтобы они были доступны при вызове Method2(). Пример, вот:
Если подключиться к такой службе, вызвать Method1() и потом Method2() то получим ошибку, потому что a = null, хотя Method1() вызывался. |
||||
|
|||||
jonie |
|
|||
Эксперт Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 15 Всего: 118 |
HTTP это протокол не поддерживающий состояния. Он так и задуман. Можно, конечно, куки гонять, но вам никто за это спасибо не скажет.
Используйте персистентное хранилище (например базу). -------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
Fighter |
|
||||
Опытный Профиль Группа: Участник Сообщений: 810 Регистрация: 5.1.2005 Репутация: нет Всего: 2 |
Хммм, а может быть тогда использовать другой биндинг?
Например, netTcp или NamedPipe? Добавлено через 4 минуты и 50 секунд Кстати, может все-таки дело не в http протоколе. Я через него же просто общаюсь с wcf. Вот там есть еще такой член в классе:
То есть в итоге получается так
И логгер все-же между вызовами работает. А вот значение в переменной не сохраняется. Хотя.... Только не говорите что при каждом вызове создается весь объект заново? |
||||
|
|||||
jonie |
|
|||
Эксперт Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 15 Всего: 118 |
...вы не поверите... именно так, если только.. ... если только вы не используете reliableSession-ы, но basicHttpBinding не поддерживает их...да и польза от них сомнительна. Короче это плохая идея пытаться хранить что-то на сервере в памяти - т.к. сервер не знает когда клиент отключится. Можно хранить в персистентных хранилищах либо в персистентных хранилищах плюс в кеше с некоторый переодом протухания данных (чтобы память не коничалась)... ЗЫ: логгер надо делать static - обыкновенно все методы логгеров должны быть ThreadSafe Это сообщение отредактировал(а) jonie - 16.1.2014, 09:02 -------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
Fighter |
|
|||
Опытный Профиль Группа: Участник Сообщений: 810 Регистрация: 5.1.2005 Репутация: нет Всего: 2 |
Да, здесь мой косяк, static забыл. А по поводу ThreadSafe, тут используется log4net и вроде как меня не должно это касаться. Ладно, это уже оффтоп, тема другого поста. Вы ответили на мой вопрос. Спасибо. |
|||
|
||||
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, cully, mr.DUDA, Exception. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Распределённые приложения и сеть | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |