Ich versuche, einen WCF-Dienst mit netNamedPipeBinding in einer Webanwendung auf einem Vista-Computer zu hosten.So hosten Sie einen WCF-Dienst in einer Webanwendung mit netNamedPipeBinding und WAS unter Windows Vista
aktiviert ich die Nicht-HTTP-Service-Aktivierung, wie in diesem Artikel beschrieben: http://msdn.microsoft.com/en-us/library/ms731053.aspx
ich den Dienst wie folgt konfiguriert:
<endpoint address="net.pipe://myservice"
binding="netNamedPipeBinding"
bindingConfiguration="MyService_NamedPipeBindingConfig"
contract="ICMyService" />
<netNamedPipeBinding>
<binding name="MyService_NamedPipeBindingConfig"
maxBufferSize="2147483647"
maxReceivedMessageSize="2147483647">
<security mode="None">
<transport protectionLevel="None" />
</security>
</binding>
</netNamedPipeBinding>
Als ich in die SVC-Datei (auf IIS durchsuchen, nicht Visual Studio Webserver) bekomme ich diese Meldung:
[InvalidOperationException: The protocol 'net.pipe' is not supported.]
System.ServiceModel.Activation.HostedTransportConfigurationManager.InternalGetConfiguration(String scheme) +11461251
System.ServiceModel.Channels.TransportChannelListener.OnOpening() +84
System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout) +229
System.ServiceModel.Dispatcher.ChannelDispatcher.OnOpen(TimeSpan timeout) +72
[InvalidOperationException: The ChannelDispatcher at 'net.pipe://myservice' with contract(s) '"IMyService"' is unable to open its IChannelListener.]
System.ServiceModel.Dispatcher.ChannelDispatcher.OnOpen(TimeSpan timeout) +118
System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout) +261
System.ServiceModel.ServiceHostBase.OnOpen(TimeSpan timeout) +107
System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout) +261
System.ServiceModel.HostingManager.ActivateService(String normalizedVirtualPath) +121
System.ServiceModel.HostingManager.EnsureServiceAvailable(String normalizedVirtualPath) +479
[ServiceActivationException: The service '/myservicehost/myservice.svc' cannot be activated due to an exception during compilation. The exception message is: The ChannelDispatcher at 'net.pipe://myservice' with contract(s) '"IMyService"' is unable to open its IChannelListener..]
System.ServiceModel.AsyncResult.End(IAsyncResult result) +11536522
System.ServiceModel.Activation.HostedHttpRequestAsyncResult.End(IAsyncResult result) +194
System.ServiceModel.Activation.HostedHttpRequestAsyncResult.ExecuteSynchronous(HttpApplication context, Boolean flowContext) +176
System.ServiceModel.Activation.HttpModule.ProcessRequest(Object sender, EventArgs e) +278
System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +68
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +75
ich für eine schnellere und einfachere Bereitstellung der Hoffnung wurde mit, aber diese Ausnahme ist nicht helpin G. Weiß irgendjemand, ob ich etwas falsch mache?
Hallo, ich habe das net.tcp Zeug ignoriert, weil ich dachte, dass das für net.pipe nicht relevant war. Aber ich muss net.pipe verbindlich für meine Website aktivieren. Ich bin jetzt dabei. – veertien
Ja, das hat den Trick gemacht! Es funktioniert jetzt, danke! – veertien
Seltsamerweise muss der Artikel "Wie konfiguriert man WAS" keine net.pipe-Bindung einrichten. Aber wird in diesem Beispielartikel erklärt: http://msdn.microsoft.com/en-us/library/ms752253.aspx – veertien