저는 앱을 만들고 있는데 웹 인터페이스를 제공해야합니다. WCF를 사용하여 웹 인터페이스에 대한 서비스를 제공하고 내 응용 프로그램 (IIS 없음)을 모두 자체 호스트로 생각했습니다. 이제 두 포트가 같은 포트를 사용하지 않으면 브라우저가 XSS에 대해 불평 할 것입니다 ...같은 포트에 자체 호스팅 웹 서버 (HTTPListener)가있는 자체 호스팅 WCF. 가능한?
이것이 가능합니까? 이것은 좋은 생각입니까?
수정 일부 조사를 마친 후 작동하도록했습니다. 여기
는 웹 서비스 자체 호스트 코드입니다 :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 또는 웹 서버) 불평을했습니다 ... – subb
어떤 웹 서버를 사용하고 있습니까? HTTP.SYS (IIS6 + 또는 HttpListener 등)를 기반으로해야하며 IIS에서 가져 오지 못한 URI 경로를 사용하여 서비스를 구성해야합니다 (예 : 수신 대기/수신 할 수 없음)./Services/Foo 등). – nitzmahone
제대로 작동합니다. 코드를 메인 포스트에 추가하겠습니다. – subb