Добавление информации в мой svcfile без веб-проекта? - PullRequest
1 голос
/ 13 июля 2010

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

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 файла отсутствует

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

1 Ответ

1 голос
/ 13 июля 2010

Файл .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();

Это называется self-hosting .

...