2012-02-25 2 views
1

У меня есть служба WCF, работающая с совместимостью ASP.NET.WCF Service singleton get instance

Эта служба должна быть только для чтения и создана с использованием фабрики веб-скриптов.

Я хочу получить экземпляр singleton из любого места в коде (разные страницы и т. Д.), А если он не создан, он должен быть создан, но если он будет доступен напрямую в первый раз, он не должен создавать другой экземпляр singleton, если был уже создан где-то в коде. В принципе, я хочу классический синглтон, но не использую статический, и создание сервиса должно быть работой фабрики.

ответ

0

Вы можете сделать это, используя атрибут на службу ФОС:

[ServiceBehavior(InstanceContextMode = InstanceContextMode.Single)] 
class MySingleton : ... 
{...} 

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

Для получения дополнительной информации см: http://msdn.microsoft.com/en-us/magazine/cc163590.aspx

+2

и как плохо я получаю ссылку на одноплодной например, из других мест? ПРИМЕЧАНИЕ. На сервере я хочу напрямую использовать объект .net, не создавая клиентский прокси. – Zapacila