0
我正在創建一個Windows服務,應該承載WCF服務與NetNamedPipeBinding綁定。以下是代碼:無法啓動承載與NetNamedPipeBinding WCF服務的Windows服務
protected override void OnStart(string[] args)
{
var serviceType = typeof(IServeHi);
var namedPipeBinding = new NetNamedPipeBinding();
namedPipeBinding.Security.Mode = NetNamedPipeSecurityMode.None;
var namedPipeEndpoint = "";
var baseNamedPipeUri = new Uri("net.pipe://MyWorkstation:51301/"); // Line # 41
host = new ServiceHost(typeof(ServeHi), baseNamedPipeUri);
host.AddServiceEndpoint(serviceType, namedPipeBinding, namedPipeEndpoint);
host.Description.Behaviors.Add(new ServiceMetadataBehavior { HttpGetEnabled = true});
host.Open();
}
installutil.exe
能夠成功安裝它。但是,當我嘗試啓動服務時,我收到一條消息本地計算機上的WindowsServiceHost1啓動然後停止。如果某些服務未被其他服務或程序使用,則會自動停止某些服務。
此外,登錄Windows讀作:
Service cannot be started. System.UriFormatException: Invalid URI: The hostname could not be parsed.
at System.Uri.CreateThis(String uri, Boolean dontEscape, UriKind uriKind)
at System.Uri..ctor(String uriString)
at WindowsServiceHost1.WindowsServiceHost1.OnStart(String[] args) in C:\WindowsServiceHost1\Service1.cs:line 41
at System.ServiceProcess.ServiceBase.ServiceQueuedMainCallback(Object state)
我已經試過WsHttpBinding的 & NetTcpBinding的和他們很好地工作。
謝謝。有效。 – Kabeer 2013-02-21 06:38:42