Я работаю над приложением, и мне нужно предоставить ему веб-интерфейс. Я думал об использовании WCF для предоставления услуги для веб-интерфейса и для самостоятельного подключения к моему приложению (без IIS). Теперь, если эти два не используют один и тот же порт, браузер будет жаловаться на XSS ...Самостоятельный хостинг WCF с самообслуживанием WebServer (HTTPListener) на одном и том же порту. Возможное?
Возможно ли это? Это хорошая идея?
EDIT После некоторого расследования мне удалось заставить его работать.
Вот вебсервис себя хост-код:
var serviceHost = new ServiceHost(typeof(CalculatorService));
serviceHost.AddServiceEndpoint(typeof (ICalculator), new WSHttpBinding(), "http://localhost:8000/webservice");
serviceHost.Open();
Console.WriteLine("CalcService is running.");
Console.WriteLine("Press Enter to terminate the service.");
Console.ReadLine();
serviceHost.Close();
А вот веб-хостинга код:
var listener = new HttpListener();
listener.Prefixes.Add("http://localhost:8000/webconsole/");
listener.Start();
Console.WriteLine("listening");
while(true)
{
HttpListenerContext context = listener.GetContext();
/* ... */
}
Для вебсервис работать, мне нужно сделать this
У вас есть пример? Я что-то пробовал, но это не сработало. Какой бы ни был запущен второй (wcf или webserver), жаловался ... – subb
Какой веб-сервер вы используете? Он должен быть основан на HTTP.SYS (IIS6 + или HttpListener и т. Д.), И ваша служба должна быть настроена с использованием пути URI, который IIS не захватил (т. Е. Вы не можете слушать в /, он должен будет be/Services/Foo или что-то еще). – nitzmahone
Получил работу. Я добавлю код на главный пост. – subb