Глобальный пользовательский класс на сервере - PullRequest
2 голосов
/ 01 января 2012

Я пишу простой чат-веб-сервис с C # ASP.Net, для которого я новичок.

Сервер поддерживает List<ConnectedUser>, где объект ConnectedUser - это идентификатор класса, имя пользователя и список ожидающих сообщений.

Я хочу, чтобы все подключенные клиенты имели доступ к списку на сервере.

Я пробовал состояние приложения, но обнаружил, что оно не будет содержать пользовательские классы, даже если я разрешу его сериализацию. Я попробовал статический класс, содержащий глобальные переменные. Также не сохраняются изменения между вызовами в службу.

Как я должен это делать? Спасибо.

Ответы [ 2 ]

1 голос
/ 01 января 2012

Для хранения пользовательских классов в Application State вам не нужно сериализовать / десериализовать, и обычно они могут быть доступны.

Вот некоторыеОб этом говорят потоки:

0 голосов
/ 02 января 2012

Пара вариантов (мы используем оба):

1) Сохраните значения, которые будут доступны, в статическом классе, который инициализируется в global.asax или по первому запросу пользователя.

2) Сохраните значения в HttpRunTime.Cache , особенно если его необходимо периодически обновлять (вы можете обновить в событии тайм-аута).

...