問題タブ [nettcpbinding]
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-ria-services - Net.TCPバインディング上のWCF RIA?
Silverlight 4 WCF RIA アプリケーションのパフォーマンスを改善しようとしています。これはイントラネットでのみ使用されるため、デフォルトのバイナリ HTTP バインディングから Net.TCP バインディングに切り替えると、パフォーマンスが少し向上する可能性があると考えました。
ただし、単純な概念実証アプリケーションを実行するのに苦労しています。私は持っている:
- 接続証明アプリを Cassini から IIS に切り替えました (7)
- IIS に適切なバインディングと有効なプロトコルを追加しました
- IIS ルートに clientaccesspolicy.xml ファイルを追加しました
さて、次のようなコンテキストを作成すると:
... 次のエラーが表示されます。
今、私は困惑しています。私が知る限り、問題は、自動生成された WCF RIA コードによって作成されるクライアントに、Net.TCP エンドポイントを使用するように指示する必要があることですが、その方法がわかりません。
Net.TCP 経由で WCF サービスを利用する方法を説明しているブログ記事はたくさん見つかりましたが、WCF RIA について話している記事は 1 つも見つかりませんでした。また、公式のドキュメントも見つかりませんでした。これらの説明にはすべて、WCF RIA アプリには不適切と思われる web.config ファイルへの変更が含まれます。
これを構成する方法を説明するか、ドキュメントを教えてください。
wcf - NetTcpBindingでWCFデータサービス(ne OData、ne Astoria、ne ADO.NET Data Service)を使用できますか?
低速の衛星接続を介してデータクエリWCFサービスを作成することを検討しており、WCFデータサービスが本当に気に入っています。私が見ている問題は、HTTPが非常に冗長な形式であり、私が行っていることはすべて内部および.NETであるため、代わりにNetTcpBindingを使用してオーバーヘッドの一部を削減することは可能ですか?
これも可能ですか?お勧めですか?
wcf - ソケット接続が中止されました-WCF
サーバーを起動してクライアントを介してメッセージを送信するときにWCF(netTcpBinding)を使用する単純なクライアントサーバーアプリがありますが、サーバーを手動で閉じて再度開くと(クライアントアプリを閉じずに)すべて)次にクライアントがサーバーにメッセージを送信しようとすると、この例外が発生します(クライアント側で):
ソケット接続が中止されました。これは、メッセージの処理エラー、リモートホストによる受信タイムアウトの超過、または根本的なネットワークリソースの問題が原因である可能性があります。ローカルソケットのタイムアウトは「00:00:59.9843903」でした。
basicHttpBindingを使用すると、問題は発生しません。
この問題が発生する理由を知っている人はいますか?ありがとう、リラン
wcf - netTcpBinding が wHttpBinding よりも遅いのはなぜですか?
WCF の通信バインディング タイプとしてトランスポート セキュリティ (https) で netTcpBinding と WsHttpBinding を使用するシナリオを実装しました。次に、パフォーマンス結果を比較しました。興味深いことに、netTcpBinding は wsHttpBinding よりも低速でした。私はバインドのパフォーマンスに関する多くのドキュメントを読みましたが、netTcpBinding がバイナリ エンコーディングにより最速の通信を提供することを知っています。
私のテストでこの状況を引き起こす原因を説明できますか? ありがとう。
テスト環境: IIS 7
wcf - TcpConnection と WcfProxy
wcf クライアント プロキシを破棄しても、TcpConnection は引き続き使用できますか?
(netTcpBinding を使用)
wcf - WCF netTcpBinding のユーザー名/パスワード認証を構成するにはどうすればよいですか?
nettcpbinding でユーザー名/パスワード認証を使用できるようにしたいのですが、可能ですか? (UserNamePasswordValidator など)、Windows 認証なし。
コードですべてを構成しているため、例では app.config ではなくコードのみを使用してください。
wcf - 同じポートでの WCF サービスのパフォーマンス
同じ TCP ポートを通過する 2 つの WCF サービスがあります。
どちらのサービスも自己ホスト型で、一方が他方にアタッチさnet.tcp://localhost:8700/DataAccess
れてnet.tcp://localhost:8700/Messages
それらを別のポートに接続すると、パフォーマンスが向上しますか? サービスの 1 つは、毎秒数メガバイトのデータを送信するために非常にビジーです。この種の構成を持っている、または持っていない理由はありますか?
wcf - 1 つのインスタンスを再起動すると、Azure WCF ホストによって通信エラーが発生する
Azure の WCF ホストに関してかなり具体的な問題があります。状況を説明しますので、ご容赦ください。
Net TCP バインディングを使用して、Azure ワーカー ロールでホストされている WCF ホストがあります。冗長性を提供するために、この worker ロールの 2 つのインスタンスを実行しています。私たちの問題とは関係のない理由で、構成設定を 1 時間ごとに変更して、これらのインスタンスを強制的に再起動します。アップグレード ドメインのおかげで、1 つのインスタンスが 2 番目のインスタンスの前に再起動されます。つまり、常に少なくとも 1 つのインスタンスが実行されています。
私たちのクライアント コード (これも Azure で実行されていますが、どこにあったかは問題ではないと思います) は次のように見えます (要点を誇張するために関数名が変更されています)。
これから私が期待するのは、この Browse 関数を呼び出すたびに、新しいチャネルと新しい接続を持つ新しいプロキシを作成していることです。
私たちの問題は、インスタンスの 1 つが再起動されたときに発生し、System.ServiceModel.CommunicationObjectFaultedException: The communication object, System.ServiceModel.Channels.ServiceChannel, cannot be used for communication because it is in the Faulted state
エラーが発生します。これで、再起動するホストごとにこれらのエラーの 1 つだけが発生しますが、これは依然としてエラーなしでは解決できません。
私の現在の作業仮説は、私が読んだすべてがそうであってはならないと言っているという事実にもかかわらず、WCFクライアントがもはやそこにないインスタンスへの接続を開いたままにしているということです。
この特定のエラーをキャッチして再試行する以外に、この問題を回避するためにできることはありますか? クライアント呼び出しを再試行するためのパターンはありますか? 再試行した場合、この危険な接続が本当に解消されたことを確認するにはどうすればよいですか? これまでの再試行の試みはあまり成功していません。
asp.net - Webファームと負荷分散環境でのWCFサービスの構成
Webファーム(Webサイト用)およびNLB負荷分散(サービス用)用にWCF Service [NetTcp](両方ともc#)を使用してASP.NETWebサイトプロジェクトを構成したいと思います。同じように以下のオプションを設定したいと思います。
NetTcpBinding.maxConcurrentCalls、NetTcpBinding.ListenBacklog、およびNetTcpBinding.MaxConnections
注:単一マシンの構成中に、WCFサービスプロジェクトのNetTcpBinding.ListenBacklogおよびNetTcpBinding.MaxConnectionsの値をデフォルト値である10を超える値に変更したとき。例外が発生しました。Webサイトでこの値を変更したとき、正常に機能していました。このため、デフォルトの構成を維持する必要がありました。なぜそうなのかわからない。誰かがこれを説明できればそれは役に立ちます。
次のリファレンスは、特定の環境で構成する方法を示していますが、その方法については説明していません。
参照:http://msdn.microsoft.com/en-us/library/ee377061%28BTS.10%29.aspx
アップデート:
少し簡単にしましょう。次の構成があるとしましょう。
- Webファーム内の2つのIISサーバー。
- NLB内の3つのWCFサービスサーバー(NetTcp)
- デフォルトの構成。シングルインスタンスの場合。
- NetTcpBinding.ListenBacklog:10
- NetTcpBinding.MaxConnections:10
- NetTcpBinding.maxConcurrentCalls:16
これで、この環境での構成設定はどうなりますか。上記と同じですか、それとも次のようになりますか。
- 推奨される構成。単一のWebFarm/NLBの場合
- NetTcpBinding.ListenBacklog:30(10 * 3)
- NetTcpBinding.MaxConnections:30(10 * 3)
- NetTcpBinding.maxConcurrentCalls:48(16 * 3)
wcf - netTcpBindingのReliableプロパティはどういう意味ですか
netTcpBidningには信頼できるプロパティがありますが、ドキュメントにはそれが何をするかが記載されていません。
例:接続を介してキープアライブを送信しますか?接続が失われた場合、再接続しますか?