問題タブ [wcf-client]

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.

0 投票する
2 に答える
2631 参照

c# - 一方向のメソッドを呼び出すだけでも、WCFサービスインスタンスは閉じません

リモートマシンのWindowsサービス内で実行されているWCFサービスがあります。WCFサービスの契約では、実行に時間がかかるメソッドがあります。

すべてが正常に機能し、メソッドが呼び出されます。実行を開始するために必要なことを確認できます。

問題は、コード内のWCFサービスのインスタンスを閉じようとすると、タイムアウトになり、次のようになります。

ソケット接続が中止されました。これは、メッセージの処理エラー、リモートホストによる受信タイムアウトの超過、または根本的なネットワークリソースの問題が原因である可能性があります。ローカルソケットのタイムアウトは「00:02:00」でした。

片道契約で発砲して先に進むことができると思いました。足りないものはありますか?そうでない場合、これに対する回避策はありますか?

0 投票する
2 に答える
455 参照

.net - IDispatchOperationSelectorの質問

カスタム操作セレクターを使用してサービスを構築しました。セレクターは、メッセージ本文の特定の要素を調べて(アクションを無視して)、コントラクトで呼び出すメソッドを指定します。

これは正常に機能し、サーバーコードが現在呼び出されていることがわかりますが、クライアントは、要求のアクションが応答のアクションと一致しないという例外をスローします。

どの拡張ポイントが応答アクションヘッダーを微調整するのに役立ちますか、または変更されたアクションを受け入れるためにクライアントで何かを行うことができますか...

どうもありがとう

0 投票する
1 に答える
2209 参照

wcf - IClientChannelプロキシでAbort()を呼び出すと、例外がスローされますか?

ドキュメントと記事に基づいて、予期しない例外/障害が発生した場合は、クライアントプロキシでAbort()を呼び出すことをお勧めします。次の(簡略化された)を参照してください。

Abort()の呼び出し自体が例外をスローする可能性はありますか?Abort()の呼び出しは、それ自体のtry / catch内にある必要がありますか?

0 投票する
1 に答える
1107 参照

wcf - クライアントがリクエストを送信するのが遅いのはなぜですか?

サービスにリクエストを送信するWCFクライアントがあります。そして、私のビジネスコードは、クライアントAPIを呼び出して、1秒あたり300以上のリクエストを送信します。しかし、私のクライアントは、私のサービスとWCF ServicePointのパフォーマンスカウンターに従って、約50をサービスに送信するだけです。

また、コードでServicePointManager.DefaultConnectionLimitを1000に増やし、サービス構成ファイルでmaxConCurrentCallsを1000に設定しましたが、ほとんど改善されていません。

WCFクライアントに送信要求のキューがある可能性があります。それを構成してクライアントを高速化する方法はありますか?

クライアントの構成は次のとおりです。

0 投票する
1 に答える
1348 参照

wcf - WCF すべてのサービス呼び出しで追加のセキュリティ データを渡す

クライアント側では、私が行うすべてのサービス呼び出しに情報 (この例では文字列としましょう) を渡す必要があります。サービスは、この文字列 (currentRole) をユーザー/パス資格情報と共に使用して、現在のロールに関連付けられたユーザーの一連の要求を取得します。

これまでに出くわした解決策は次のとおりです。

1) クライアントから送信されるメッセージ ヘッダーを変更し、メッセージ ヘッダーがサービス側にあることを確認します。

2)私が理解していることから、文字列を保存するためにカスタムセキュリティトークンも必要とするカスタム資格情報を使用します。

その情報を既存のトークン/資格情報に追加するなど、私が見逃している他のアプローチはありますか? また、上記のソリューションの長所/短所はありますか?

ありがとう。

0 投票する
3 に答える
2106 参照

.net - SOAP 障害メッセージ内の複数の名前空間により、FaultException のデシリアライズが失敗する

Web サービスに接続していますが、返されるエラー メッセージは (まったく) デシリアライズされておらず、作成できるクラスのバージョンは正しくデシリアライズされません。サーバー側のことは制御できません。サーバーは検出を許可しないため、?WSDL をエンドポイントの URL の末尾に追加すると、WSDL ではなくエラーになります。

[Fiddler][1] は、Fault メッセージが次のように戻ってくることを示しています。

しかし、作成したクラス (xsd.exe、svcutil など、ゼロから作成したコードを含む) は、次のコマンドでキャッチしようとすると、逆シリアル化できません。

ベースの FaultException キャッチのみが呼び出されます。つまり、送信された FaultMessage の内容が失われます。私が作成したいくつかのクラスは、上記のサンプルに非常に近い形でシリアル化されますが、逆シリアル化に失敗するため、名前空間に問題があるのではないかと考えられます。

質問:

1 - これはどのように書きますか?

2 - これは WCF の一般的なエラー/問題ですか?

[1]: http://www.fiddler2.com/fiddler2/フィドラー

0 投票する
2 に答える
128 参照

deployment - WEBサービスコンシューマモジュールをデプロイする

最近、外部ドメインのAPIへのサービス参照を追加する必要があるいくつかの機能をWebサイトに追加しました。VS2008プロジェクトへの参照を追加すると、「Service References」フォルダーにサブフォルダーが作成され、APIのクラスを表すように見える18個のファイルがそのフォルダーに追加されました。また、APIプロバイダーは、web.configファイルのsystem.serviceModelにカスタムバインディングとクライアント参照を追加するように指示しました。

Webサービスを使用するには、18個のファイルを含むフォルダー全体を実稼働サイトにデプロイする必要がありますか?その一部は私のプロジェクトdllにコンパイルされますか?サービスのデプロイに関するあらゆる種類の参照を見つけることができますが、サービス消費モジュールをデプロイするために必要なものは見つかりません。

0 投票する
1 に答える
4316 参照

wcf - netTCPバインディングを使用してIISでホストされているWCFサービス

NetTCPが有効になっているIIS7でホストされているWCFサービスがあります。

これは、SVCファイルがある%apppath%\の私のweb.configです。

何らかの理由で、指定したようにポート8050にロードする代わりに、青とベージュのサイトに次のサイトが表示されます。

http :// localhost / SearcherService / searcherservice.svc であり、 http:// localhost:8050 / SearcherService/searcherservice.svcではありません

また、走ろうとすると

svcutil.exe http://process.mycomp.com/SearcherService/SearcherService.svc?wsdl

URLにレンダリングされたページにあるように、エラーが発生します。

しかし、私はそれを私のweb.configの他のどこにも指定していません

他にあり得る場所はありますか?

0 投票する
2 に答える
455 参照

c# - WCFサービスに関する簡単なクエリ

2つのメソッドが公開されているWCFサービスがあります。

注:wcfサービスとSQLサーバーは同じマシンにデプロイされます。SQLサーバーには、従業員情報を保持するemployeeというテーブルが1つあります。

  1. Read()このメソッドは、SQLサーバーからすべての従業員を取得します。
  2. Write()このメソッドは、従業員テーブルの従業員情報をSQLサーバーに書き込み(追加、更新、削除)します。

これで、クライアントがWebサービスを利用して従業員情報を照会、追加、更新、および削除できるデスクトップベースのアプリケーションを開発しました。

質問:

複数のクライアントが同時に従業員情報を更新したい場合、どのようにシナリオを処理できますか?SQLサーバー自体がデータベースロックを使用してこれを処理していますか?

最善のアプローチを教えてください!

0 投票する
3 に答える
9630 参照

wcf - WCF 呼び出しで、「指定された URI スキーム 'http' は無効です。'net.tcp' が必要です。」がスローされます。例外

IIS7 でホストされている WCF サービスがあります。

これは、IIS でホストされているサービスの app.config です。

以下は、WCF サービスを参照するクライアントの app.config です。

何らかの理由で、「指定された URI スキーム 'http' は無効です。'net.tcp' が必要です。」というメッセージが表示されます。例外 。

理由がわかりません……。