4 Stimmen

Wie man einen WCF-Dienst in einer Webanwendung mit netNamedPipeBinding und WAS auf Windows Vista hostet

Ich versuche, einen WCF-Dienst mit netNamedPipeBinding in einer Webanwendung auf einem Vista-Rechner zu hosten.

Ich habe die Aktivierung der Nicht-HTTP-Dienste wie in diesem Artikel beschrieben aktiviert: http://msdn.microsoft.com/en-us/library/ms731053.aspx

Ich habe 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>

Wenn ich die .svc-Datei (auf IIS, nicht auf dem Visual Studio-Webserver) aufrufe, erhalte 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 hatte auf eine schnellere und einfachere Bereitstellung mit WAS gehofft, aber diese Ausnahme ist nicht hilfreich. Weiß jemand, ob ich irgendetwas falsch mache?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X