2009-08-25 5 views
4

VistaマシンのWebアプリケーションでnetNamedPipeBindingを使用してWCFサービスをホストしようとしています。次のようにhttp://msdn.microsoft.com/en-us/library/ms731053.aspxWindows VistaでnetNamedPipeBindingとWASを使用してWebアプリケーションでWCFサービスをホストする方法

は私がサービスを設定した:この記事で説明したように

私は非HTTPサービスの起動を有効に

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

私はIIS上(.SVCファイルを参照し、ありませんVisual Studioのウェブサーバ)私はこのメッセージが表示されます。

[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 

私が使用して迅速かつ容易に展開を期待していただったが、この例外はhelpinではありませんg。私はsomehtingを間違っているかどうかは身体が知っていますか?

答えて

5

この記事に正確に従ったか、コマンドラインの 'net.tcp'のインスタンスを 'net.pipe'に置き換えましたか?そのWebサイトと仮想ディレクトリのnet.pipeバインディングを有効にしていない可能性があります。

+0

こんにちは、私はnet.pipeには関係がないと思ったので、net.tcpのものは無視しました。しかし、apparantly私は私のWebサイトのnet.pipeバインディングを有効にする必要があります。私は今それにいる。 – veertien

+0

うん、それはトリックでした!ありがとう! – veertien

+0

「WASを設定する方法」の記事では、net.pipeバインディングを設定するメニオンは不思議ではありません。しかし、この例の記事で説明されています:http://msdn.microsoft.com/en-us/library/ms752253.aspx – veertien

関連する問題