Добавление информации в мой svc-файл без веб-проекта?

Я следую этому руководству здесь:

http://www.lostechies.com/blogs/jimmy_bogard/archive/2008/09/16/integrating-structuremap-and-nhibernate-with-wcf.aspx

И теперь подошел к концу, где мне нужно добавить:

<%@ ServiceHost Language="C#" Debug="true" Service="Wcf.ComboService" Factory="Wcf.DIServiceHostFactory" %>

в мой svcfile проблема в том, что у меня нет svcfile, и, согласно этому сообщению, вы должны добавить ссылку из веб-приложения, чтобы получить его: Добавление файла .svc отсутствует

Неужели нет возможности это сделать? а может заставить этот код работать без svc-файла?


person Marcus    schedule 13.07.2010    source источник


Ответы (1)


Файл .svc - это просто текстовый файл с другим расширением, поэтому вы всегда можете добавить его как текстовый файл, независимо от того, какое решение Visual Studio вы используете.

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

Однако, если вы не хотите размещать свою службу в IIS, вам не нужен файл .svc. Вы можете просто использовать ServiceHostFactory, чтобы вручную развернуть службу:

var factory = new Wcf.DIServiceHostFactory();
var host = factory.CreateServiceHost(typeof(Wcf.ComboService), baseAddresses);
host.Open();

Это называется самостоятельный хостинг.

person Mark Seemann    schedule 13.07.2010