Имитация приложения в WCF - PullRequest
       0

Имитация приложения в WCF

1 голос
/ 04 декабря 2009

В своем коде я проверяю, существует ли файл, и сохраняю его в объекте Application в asp.net.

Позже я получаю доступ к этому логическому значению, чтобы что-то делать в своем веб-сервисе.

Теперь я хочу переписать свой веб-сервис в wcf, и здесь все по-другому. Объект приложения не существует.

Как лучше всего выполнить эту задачу: На веб-сайте запуска приложения записать логическое значение. Передайте его моему wcf, чтобы он знал об этом при вызове функции (без логического значения, являющегося частью параметров метода)

Ответы [ 3 ]

1 голос
/ 04 декабря 2009

Многие люди не понимают, что WCF поддерживает шаблоны Inpendency Injection (DI), такие как Constructor Injection без особых хлопот.

Определите класс, который инкапсулирует знания (логическое значение), о которых вы хотите знать, и внедрите экземпляр этого класса в службу WCF и спросите его о значении (и обо всем, что вы хотите знать).

Если вы внедрили внедренный класс как долгоживущий объект (обычно называемый Singleton , но его не следует путать с шаблоном проектирования Singleton), вы можете спросить его о значении будет получать один и тот же ответ каждый раз.

Среди прочего в этом посте описывается, как внедрить зависимости в реализацию службы WCF, когда у нее нет конструктора по умолчанию.

1 голос
/ 04 декабря 2009

Объект Application в ASP.NET в основном необходим для обратной совместимости с классическими приложениями ASP.

По сути это статический Dictionary<string, object> с семантикой блокировки, совместимой с классическим ASP.

Вы можете легко заменить его, сохраняя состояние вашего приложения в любом подходящем статическом поле, обеспечивая собственную блокировку там, где это необходимо. Тогда вам не нужно беспокоиться, если вы работаете как приложение ASP.NET, приложение WCF или что-то еще.

1 голос
/ 04 декабря 2009

Последнее сообщение здесь предлагает опцию для разделения состояния между вызовами:

Статические классы всегда существуют для время жизни приложения. Они есть полезно в WCF для поддержания состояния потому что они не восстановлены каждый раз звонок или новый WCF соединение установлено.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...