問題タブ [netnamedpipebinding]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
wcf - 名前付きパイプ バインディングを介して WCF サービスを公開する
はじめに:
数日前、Windows サービスでホストされている WCF サービスの実装に成功しました。StackOverflow のコミュニティは、ここでWSDL を公開するのに役立ちました。あらためて感謝いたします。しかし最近、このサービスの別の潜在的なクライアントがサービスと同じマシン上にあることがわかりました。これにより、namedPipesBinding で別のエンドポイントを追加する必要があると思いました。
名前付きパイプは、私に関する限り、マシン内通信に最適なソリューションのようです。これが間違っている場合は修正してください。
問題:
同じサービス/コントラクトの別のエンドポイントを公開する必要がありますが、今回は netNamedPipeBinding を使用します。ただし、クライアントからサービス参照を追加する方法が本当にわかりません。愚かにも追加した後
net.pipe://.... url を入力して、同じマシンにある Windows フォーム アプリケーションにサービス参照を追加しようとしました。うまくいきませんでした。mex (MetaData Exchange) エンドポイントは必要ないと考えたため、以前に削除したことに言及する必要があります。
- この mex エンドポイントは、名前付きパイプ エンドポイント バインディングの検出に必要ですか?
- クライアント アプリのサービス参照を名前付きパイプ エンドポイントに追加するにはどうすればよいですか?
wcf - 名前付きパイプバインディングを使用して Delphi から WCF と通信するにはどうすればよいですか
netnamedpipebinding を使用して、Delphi 2007 を使用して WCF サービスと通信できますか?
もしそうなら、どうやって?
wcf - NetNamedPipeBinding の maxReceivedMessageSize に設定できる最大サイズは?
2147483647 が maxReceivedMessageSize の一般的な選択肢のようですが、これが限界ですか?
wcf - Windows Vista で netNamedPipeBinding と WAS を使用して Web アプリケーションで WCF サービスをホストする方法
Vista マシンの Web アプリケーションで netNamedPipeBinding を使用して WCF サービスをホストしようとしています。
この記事で説明されているように、非 HTTP サービスのアクティブ化を有効にしました: http://msdn.microsoft.com/en-us/library/ms731053.aspx
次のようにサービスを構成しました。
.svc ファイル (Visual Studio Web サーバーではなく IIS 上) を参照すると、次のメッセージが表示されます。
WAS を使用してより迅速かつ簡単に展開できることを期待していましたが、この例外は役に立ちません。私が何か間違ったことをしているかどうかを誰かが知っていますか?
wcf - 誰もがIISをWCFクライアントとして確実に機能させることができました
同じマシン上の別のWindowsサービスアプリケーションでホストしているWCFサービスでIIS6を確実に動作させようとしています。ユーザーはいくつかのHTTP公開サービスを介してIISに接続しますが、これは正常に機能しています。その後、IISはWindowsサービスからいくつかの情報を取得してHTTP応答を送信する必要があります。また、WindowsサービスとIISの間にコールバックチャネルが必要です。
多大な努力の結果、netTcpBindingで動作するようになり、すべてが5分または10分間バラ色になりましたが、その後、IISはWCFチャネルに障害があると報告し、ワーカープロセスがリサイクルされるまで、要求の処理を停止します。すべてが繰り返されました。
netNamedPipeBindingにスワップしようとしましたが、IISが拒否するか、「net.pipe:// localhost/mypipenameでリッスンしているエンドポイントがありませんでした」というエラーでパイプへのアクセスを拒否されました。コンソールアプリからパイプに正常に接続できます。
だから私の質問は、誰かがクライアントとしてIISで動作するこれらの2つのバインディングのいずれかを持っているか、または他のアプローチを持っているかということです。
.net - WCF netNamedPipeBinding の使用時に名前付きパイプが見つからない
私は WCF サービスの開発者です。私のテストクライアントはそれで非常にうまく機能します。しかし、実際のクライアント (同じクライアント プロキシを使用) に関しては、失敗します。同じ WCF サービスが netTcpBinding で動作します。このエラーは、ConcurrencyMode = ConcurrencyMode.Single でも、netNamedPipeBinding でのみ発生します。
ここに例外があります
メッセージを受け入れることができる net.pipe://localhost/MyService でリッスンしているエンドポイントはありませんでした。これは、多くの場合、アドレスまたは SOAP アクションが正しくないことが原因です。詳細については、InnerException (存在する場合) を参照してください。
サーバー スタック トレース: で
System.ServiceModel.Channels.PipeConnectionInitiator.GetPipeName(Uri uri) System.ServiceModel.Channels.NamedPipeConnectionPoolRegistry.NamedPipeConnectionPool.GetPoolKey(EndpointAddress アドレス、Uri 経由) で System.ServiceModel.Channels.CommunicationPool`2.TakeConnection(EndpointAddress アドレス、Uri 経由) 、TimeSpan タイムアウト、TKey& キー) で System.ServiceModel.Channels.ConnectionPoolHelper.EstablishConnection(TimeSpan タイムアウト) で System.ServiceModel.Channels.ClientFramingDuplexSessionChannel.OnOpen(TimeSpan タイムアウト) で System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan タイムアウト) でSystem.ServiceModel.Channels.ServiceChannel.OnOpen(TimeSpan タイムアウト) で System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan タイムアウト) で System.ServiceModel.Channels.ServiceChannel。CallOnceManager.CallOnce(TimeSpan タイムアウト、CallOnceManager カスケード)
System.ServiceModel.Channels.ServiceChannel.EnsureOpened (TimeSpan タイムアウト) で System.ServiceModel.Channels.ServiceChannel.Call (文字列アクション、ブール値一方向、ProxyOperationRuntime 操作、Object[] ins、Object[] outs、TimeSpan タイムアウト) で System. System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage メッセージ) での ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall、ProxyOperationRuntime 操作)[0] で例外が再スローされました: System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg) で
内部例外
PipeException: "パイプ エンドポイント 'net.pipe://localhost/MyService' がローカル マシンで見つかりませんでした。"
wcf - 現在のユーザーのみが呼び出すことができるように、NetNamedPipesBinding を使用して WCF サービスを保護する方法は?
NetNamedPipesBinding で WCF サービスを使用して、プロセス内の 2 つの AppDomains 間で通信しています。
同じマシン上の他のユーザーがアクセスできないようにサービスを保護するにはどうすればよいですか?
エンドポイント アドレスで GUID を使用する予防策を既に講じているため、目立たないようにすることで多少のセキュリティは確保できますが、ACL などを使用してサービスをロックする方法を探しています。
.net - WCFのnetNamedPipeBindingで信頼できるセッションを無効にする方法は?
名前付きパイプ バインディングで信頼できるセッションを無効にするにはどうすればよいですか?
c# - netNamedPipeBindingがUACの要求と連携できるようにするにはどうすればよいですか?
ローカルシステムアカウントでサービスを実行しています。非UACモードで実行されるアプリケーションがあります。両方がサーバーおよびクライアントとして機能するため、両方が相互作用します。
クライアントとしてのアプリケーションはサービスと通信できます。ただし、クライアントとしてのサービスはアプリケーションと通信できません。
UACで実行すると、問題は解決します。
wcf - 同じマシン上で WCF クライアントとサーバーを実行することが理にかなっているのは、どのような状況ですか?
Michele Bustamante によるLearning WCFには、 NetNamedPipesバインディングと呼ばれるバインディングについて説明するセクションがあります。この本によると、このバインドは、同じマシンから排他的に呼び出される WCF サービスにのみ使用できます。
どのような状況でこれを使用するのが理にかなっていますか? 通常、私は WCF を使用せずに非同期コードを記述します... なぜ Microsoft は同じマシンでしか実行できない WCF 用のものを提供するのでしょうか?