問題タブ [wcf-proxy]

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 に答える
462 参照

wcf - WCF - Can I generate one proxy from two separate interfaces

1 つの WCF プロジェクトで定義された 2 つの別個のインターフェイスと 2 つの別個のエンドポイント (.svc ファイル) があります。これらのインターフェイスは、プロジェクト内で共通のオブジェクトを共有します。インターフェイスとすべてのオブジェクトが共有されているため、両方のインターフェイスとすべてのオブジェクトを組み合わせた単一のプロキシを作成する方法はありますか?

ありがとう!

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

wcf - プロキシを使用せずに WCF サービス メソッドを呼び出す

とにかく、サービス参照を追加したり、プロキシをまったく使用したりせずに、WCF サービスを呼び出すことができますか。

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

wcf - WCF クライアントでカスタム例外をトラップできません

私は、この質問が何度も聞かれたことを知っています (私はほとんどすべての投稿を経験したことを知っていると信じています)。しかし、私はまだそれを機能させることができません...

次の簡単なサービスがあります。

の実装は次のGetDataとおりです。

有効な ID を渡すと、適切なDataオブジェクトがネットワーク経由で渡されますが、(FaultException をトリガーするために) 無効な ID を渡すと、常にProtocolException同じメッセージと共にクライアントに渡されます。

リモート サーバーが予期しない応答を返しました: (400) 不正な要求。

私は最初に実装の道をたどりましたIErrorHandlerが、ここで問題が発生し始めたので、方程式からそれを排除するために、この基本的なサービスを実装しました...しかし、それを機能させることさえできません。

私のクライアントでは、サービス参照を作成し、クライアント プロキシを使用しています。

足りないものはありますか?(リクエストに応じて、サービス/クライアントの構成設定を投稿できます)

注意: サービス参照を追加してクライアント プロキシを生成する場合 (私は VS2010 を使用してWebGet/WebInvokeいます)、生成されたクライアントに属性を手動で追加する必要があることに気付きました。

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

.net - Silverlight 4.0 と WCF クライアント プロキシ - インスタンスの作成方法とクローズ方法

Silverlight WCF サービス プロキシのライフサイクルのトピックは、私にはあまり明確ではありません。ここでさまざまな資料、リソース、回答を読みましたが、それらを使用する最善の方法を完全には理解していません。

現在、Silverlight 4.0 でカスタム バイナリ バインドを使用しています。

Silverlight でのプロキシの作成はコストのかかる操作ですか? プロキシ インスタンスをコードで共有するか、新しいものを作成する方がよいでしょうか? 複数のスレッドがアクセスする場合に共有する場合、ロックを行う必要がありますか?

プロキシのエラーはプロキシの状態に障害を起こすため、プロキシを共有することは良い考えではないと思いますが、作成にはコストがかかると読んだので、ここで何をすべきかは 100% 明確ではありません。

また、閉じると、Silverlight WCF サービス クライアントは CloseAsync メソッドのみを提供します。また、プロキシは、閉じるときに特定のロジックを使用する必要があります (プロキシに障害が発生した場合は、Silverlight で同期されている Abort() を呼び出す必要があり、そうでない場合は、同期ではない CloseAsync を呼び出す必要があります)。

多くの公式の MS プロキシからの Silverlight サンプルは、まったく閉じられていません。それは単に材料の欠陥なのか、それとも予想されるアプローチなのか?

トピックは私にとって非常に重要であり、現在私が持っていない考慮すべきすべてのことを明確に理解したい.

(この質問は、Silverlight 3 での WCF サービス クライアント プロキシの適切なライフサイクルとは何ですか?が私の近くに表示されるのを見ましたが、回答の質に満足しているとは言えません)

WCF プロキシの使用、作成、終了などを行うサンプル コードを実際に見てみたいと思います。また、最も重要なこととして、それが最善の方法である理由を説明しています。また、問題の性質上、Silverlight で WCF プロキシを使用 (作成、再利用、閉じる) するための単一の一般的なベスト プラクティス/パターンが必要であると考えています (現在はそう考えています)。

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

c# - WCF で生成されたプロキシ ラップ コントラクト インターフェイス メソッドが、署名の異なる新しいメソッドを使用するのはなぜですか?

私が知る限り、デフォルトの WCF 構成オプションを使用して、WCF を使用して SQL Server 2008 SSRS Web サービス ( .../reportserver/ReportService2005.asmx?wsdl) をサブスクライブしています。

ただし、ローカル プロキシ クラスを生成するときに奇妙なことを行います。

例として ListChildren メソッドを使用します。

クライアント側では、予想どおり、WCF は次のようなインターフェイスを生成します。

また、そのインターフェースを実装する「クライアント」プロキシも生成します。

ご覧のとおり、クライアント プロキシはインターフェイスを実装し、インターフェイスを明示的に実装することによって (インターフェイス メソッドにアクセスするにはキャストする必要があります)、さらに EditorBrowsableState.Advanced 属性を使用して、使用されないように「非表示」にします。

次に、「out」パラメーターを使用する追加のラッパー メソッドを追加します。

それをやめて、インターフェイスを直接実装する方法はありますか?

ここで行っていることは、'out' パラメーターを指定してラッパー メソッドを使用する方法へと導きます。その後、ラッパー メソッドは仮想ではなく、どのインターフェイスでも定義されていないため、サービスを簡単にモックできないことがわかります。 .

注意: ここでは例として SSRS Web サービスを使用していますが、WCF が他のサービスでもこれを行うのを見てきました。

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

c# - WCF にプロキシのリストを生成させるにはどうすればよいですか?

IEnumerableWCFで実際のオブジェクトへのリストまたはプロキシを生成するにはどうすればよいですか? 私は自己ホスト型アプリケーションでこれを行っています。

ここに私が持っているものがあります:

私はWCFに次のことを望みます:

  • RemoteControlGroupImplの契約で定義されたサービス を提供しIRemoteControlGroupます。
  • List<IRemoteControl>(クライアント上で) がいつ呼び出されるか教えてくださいIRemoteControlGroup.GetInstances()。ここで、リストの要素はIRemoteControl(ホストの実際のIRemoteControlオブジェクトを呼び出すことによって) 実装するプロキシです。

RemoteControlImplWCF がネットワーク経由で実際のオブジェクトをプッシュすることは望ましくありません。を実装するプロキシをプッシュしたいだけですIRemoteControlRemoteControlImplオブジェクトには実際にはローカル システムへのハンドル (アプリは GUI インターフェイスのみを公開するため、ウィンドウ ハンドル) が含まれているため、シリアル化できません。によって返される要素の数はGetInstance()さまざまです。

この記事を見つけました、これは私が欲しいもののように聞こえます。すこし。しかし、コードでこれを行う方法は教えてくれません。ちょうど構成にあります。また、私が望むものを完全に説明していません。サービスのエントリ ポイントはプロキシを提供します。しかし、サービスのエントリ ポイントでプロキシのリストを配信する必要があります。

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

.net - WCF プロキシを再利用しているときに、閉じて再度開く方が良い方法ですか?

WCF プロキシのオブジェクト プールを実装しています。プロキシが使用されたら、そのアクティブな接続が閉じられるように、プロキシを閉じてパッシベーションしたほうがよいでしょうか。プロキシ オブジェクトが借用されると、プロキシを渡す直前にプロキシ (アクティブ化) を再度開くことができます。このアプローチはパフォーマンスに影響を与えますか?

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

c# - 異なるサーバーで公開されている内部およびインターネットとしての WCF サービス

2 つのサーバーに複数のアプリケーションを配布する必要があります。現在、両方のサーバーにパブリック IP があり、インターネット リクエストを介してアクセスできます。両方のサーバーが複数の Web アプリケーションをホストしています。ここで、これらのアプリケーションを配布して、サーバー (A) にフロントエンドを配置し、2 番目 (B) にバックエンドを配置する必要があります。これにより、サーバー「B」にはパブリック インターネット接続がなく、すべての要求が最初にサーバー「A」から入力する必要があります。WCF を使用して、プレゼンテーションを分離し、プログラムのロジック (これらのサーバー間) と通信します。それは問題ありませんが、問題は、サーバー "B" が、外部システムによって消費されるいくつかのパブリック ビジネス WCF サービスをホストしていることです。これらのビジネス サービスには、インターネット経由で直接アクセスする必要があります。

呼び出しを受信するためのパブリック サービスと、ロジックを処理してデータベース操作を実行するためのサーバー "B" 内の別のサービスを提供する必要があります。

このアプリケーション配布を実現するための最良の方法が何であるかはわかりません。最後のオプションとして create 2 services を使用しています。構成やインフラストラクチャなど、より良い解決策が必要だと思います。

私の問題を解決するためのアイデアをいただければ幸いです。

前もって感謝します。イスラエル。

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

c# - WCF サービスが利用可能かどうかを確認する方法は?

Proxy.Open()接続が機能するかどうかの指標として使用できますか? 最初に接続が利用可能かどうかを確認したいと思います。そうでない場合は、アプリケーションの実行中にサービスを呼び出しません。

注: 接続を確認する必要があるだけで、必ずしもクライアント サービスのラウンドトリップ全体を確認する必要はありません。

提案どおり、サービスに Ping() メソッドを作成することになりました。

参考までに、単に Open() を使用しても機能しませんでした。サービスがオフラインであっても、Open() は例外を発生させません。

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

visual-studio-2010 - Visual Studio WCF Client creates classes with missing properties, adds ExtensionData property instead

I have a WCFService that returns sundry types of Data in this kind of a way:

And then

Also

And then

Now when I make a call to that service using a tool like SoapUI I get exactly the response I might expect.

However, when I use Visual Studio 2010 to create a Service Reference and make a call like this:

What I find is that response only has two properties, Status and ExtensionData. I have seen this described in other SE questions but the answer was always that something was missing a DataContract or DataMember on the data contracts. I definitely have those, so something else must be happening so that VS.Net can't see my classes. I have tried referencing the DTO library that contains these files and trying to configure the reference to match types with that library, but it makes no difference.

Where am I going wrong?