我正在開發一個應用程序,我需要爲它提供一個Web界面。我正在考慮使用WCF爲Web界面提供服務,並使用我的應用程序(無IIS)自行託管。現在,如果這兩個不使用相同的端口,瀏覽器會抱怨XSS ...在同一端口自託管WCF與自託管Web服務器(HTTPListener)。可能?
這可能嗎?這是一個好主意嗎?
編輯 經過一番調查後,我設法使其工作。
這裏的web服務的自我主機代碼:
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();
/* ... */
}
爲WebService的工作,我需要做this
你有這樣的例子嗎?我嘗試了一些,但沒有奏效。無論從第二個(WCF或網絡服務器)開始抱怨... – subb 2009-11-14 23:16:13
你使用什麼網絡服務器?它必須基於HTTP.SYS(IIS6 +或HttpListener等),並且您的服務必須配置爲IIS尚未獲取的URI路徑(即,您無法在/上收聽,必須be/Services/Foo或其他)。 – nitzmahone 2009-11-15 00:13:40
得到它的工作。我會將代碼添加到主帖子中。 – subb 2009-11-15 18:34:12