問題タブ [wcf-callbacks]

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 投票する
1 に答える
861 参照

.net - .netで作成されたwcfを実装し、コールバックをサポートするdelphi xe2

クライアントへのコールバックを行う単純な .NET WCF wsDualHttpBinding を作成しました。現在、wcf サービスを実装する単純な Delphi コンソール アプリケーションを作成しようとしています。これは、デルファイでwsdl soap 1.2が生成したコードです

これを行う必要があるのはこのようなものだと思いますが、Delphi が OnMessageAdded に何を期待しているのか理解できません

これがWSDL http://pastebin.com/H4mJmjS4です

これは、delphi xe2 によって作成された生成コードです。

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

wcf - コントラクト操作の実行中にコールバックを呼び出す

Azure で WCF サービスをプログラミングしています。

私のサービスでは、コントラクト操作の実行中にコールバックを呼び出す必要があります。これを実行しようとすると、例外がスローされ、クライアントがロックされます。コントラクト操作のためにチャネルが開かれていることが原因だと思います。現在のチャネルでコールバックを呼び出すと、スレッドがロックされますよね?このシナリオの解決策を得たいです。

タイムアウト例外メッセージは次のとおりです。

net.tcp://127.255.0.0:8000/MytestWCFService に送信されたこの要求操作は、構成されたタイムアウト (00:00:59.9889989) 内に応答を受け取りませんでした。この操作に割り当てられた時間は、より長いタイムアウトの一部であった可能性があります。これは、サービスがまだ操作を処理中であるか、サービスが応答メッセージを送信できなかったことが原因である可能性があります。(チャネル/プロキシを IContextChannel にキャストし、OperationTimeout プロパティを設定することによって) 操作のタイムアウトを増やすことを検討し、サービスがクライアントに接続できることを確認してください。

編集:コードサンプル

次に、サービス側で IContract を実装します。

現在のチャネルでコールバックしています。これはデュプレックス チャネルです。

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

wcf - WCFサービスで再度開いた後、フェッチデータをクライアントアプリケーションに戻す方法

アプリケーションがWCFDuplexサービスからデータを取得する前に閉じた場合、そのメッセージをシリアル化して、WCFサービスでホストされているサーバーに保持することを計画しています。アプリケーションを再度開いたら、待機中のメッセージが1つあることをユーザーに通知したいと思います。どうすればこれを達成できますか?

私が知っているように、アプリケーションが閉じられると、サービスはユーザーの登録を解除します。それで、これを達成するためにDBメカニズムが必要ですか?

事前のManjunathに感謝します

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

c# - WCF: ファイルをチャンク単位でストリームするための WS-Dual バインディングまたは basichttp バインディング

私は現在、クライアントがメッセージ付きのxmlファイルを送信してサーバーと通信するサービスを開発しています。メッセージングの信頼性を向上させるために (クライアントは低品質の制限されたバンドスイッチ モバイル インターネットを使用します)、これらのメッセージを 64 または 128 Kb サイズの小さな部分にチャンクし、BasicHttp バインディングで transfer="streamed" を使用して送信します。

ここで、問題があります。サーバーは、クライアントがチャンクを正常に受信したかどうかをクライアントに報告する必要があるため、fe 5 チャンクの転送に失敗した後、転送プロセスはキャンセルされ、後で試行されるように延期され、どれを追跡するかを追跡します。チャンクが受信され、どれが受信されないか。

クライアントと通信するためにコールバックメカニズムを使用することを考えているので、サーバーはサーバー側のファイルにチャンクを保存するときに、[OperationContract] のコールバックメソッド ChunkReceived を呼び出しますが、間違っている場合は修正してください。 WS Dual http バインディングでのみ機能し、basichttp バインディングではサポートされていません。ただし、ストリーミング転送は WS デュアル バインドではサポートされていません。

それで、WS Dual binding に切り替えて transfer="buffered" を使用しても問題ありませんか (チャンク サイズが比較的小さいことを考慮して) - それによって転送の信頼性が損なわれることはありませんか? または、何らかの応答メッセージを返すことで、基本的な http バインディングでクライアントと通信できるかもしれません。

ここで、ServerResponse は enum または bool フラグを保持して、SendChunk 操作が正常かどうかをクライアントに伝えます。しかし、すべてのチャンクのステータスを追跡するために、クライアント側とサーバー側の両方である種の配列を保持する必要があります。そこで使用するのに最適なパターンが何であるかはわかりません。アドバイスをいただければ幸いです。

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

c# - パラメータに応じたWCFコールバックの障害

これが私の問題です。このようにコールバックを呼び出すと、次のようになります。

チャネルに障害が発生し、クライアント側でCommunicationFault例外が発生します。呼び出しが一方向であるため、サーバー側で問題は発生しません。

しかし、私がそれをこのように呼ぶならば:

ここで、EntryLocation、EntryUserなどは私が定義したクラスです。String、のような基本的なタイプを無効にする必要はありませんint。それらは何事もなくネットワークを横切って移動します。両側で同じタイプが使われているようですので、どこで失敗しているのかわかりません。

何が原因でしょうか?どうすれば修正できますか?

編集:これが私のクラスと関連フィールドの定義です。

0 投票する
0 に答える
372 参照

wcf - コールバック コントラクトとの WCF の相互運用性

非 WCF クライアント (python、Java、Ruby など) との双方向通信をサポートするサービスを実装する必要があります。ただし、デフォルトのバインディングはいずれもそのようなシナリオをサポートしていないようです (wsDualHttpBinding は実際には相互運用されていません: https://blogs.oracle.com/arungupta/entry/wshttpdualbinding_a_non_interoperable_binding )

非 WCF クライアントにコールバック機能を提供するカスタム バインディングはありますか? または、CORBA を使用して同じ機能を実現することを検討していますが、WSDL を使用してインターフェース定義を通信する機能は失われます。

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

c# - 双方向サービスへのプロキシを一方向としてインスタンス化できますか?

コールバックを実装できるように、以前の WCF の一方向サービスを双方向サービスに変更しました。

私の実際の問題は、その変更以来、サービス プロキシをインスタンス化するすべてのコードを変更して、インスタンス コンテキストをパラメーターとしてコンストラクターに渡す必要があることです。

そのサービスを利用するいくつかの異なるプロジェクトには、非常に多くの場所があります。それらのすべてが今壊れています。

すべてのプロキシ インスタンス化に戻り、インスタンス コンテキストをコンストラクターに渡す必要がありますか? これを避けることはできますか?

0 投票する
0 に答える
100 参照

.net - 2 種類のクライアント用の WCF サービス、1 種類のみコールバックあり

2 種類のクライアント用の WCF サービスを作成したい

1- Windows Phone 7 の場合

2- Windows 用 (wpf)

Windows Phone 7には必要ないので(wpfクライアント)のみのコールバックをサポートしたい(サポートしていないと思う)

2 つのエンドポイント (WPF クライアント用の wsDualHttp と WP7 用の基本) を作成するのに問題はありませんが、コールバック機能を追加すると、WP7 はサービス全体を認識しません。

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

c# - WCFからの応答を取得した後にメッセージを表示する

プッシュ通知用のWCFアプリケーションを構築しています。このアプリケーションでは、ユーザーは最初に自分自身をサブスクライブし、サブスクライブ後にクライアントはWCFから応答を取得する必要があります。

WCFのバインディングとコールバックとしてwsDualHttpBindingを使用します。

クライアントから再帰関数を呼び出したくありません。WCFでタイマーを使用し、データベースで更新が発生するとWCFがメッセージをスローします。WCFの準備はできていますが、クライアント側でメッセージを表示できません。

ここで私の質問は、クライアントがWCFから応答を受け取ったときにメッセージを表示する方法です。

aspx.csのクライアント側コードは次のとおりです。

これは非常に重要な質問であり、メッセージを表示する必要があります

どんな助けでもありがたいです。

編集1

サービスメソッド呼び出し

編集2

私も試しました

ただし、「オブジェクト参照がオブジェクトのインスタンスに設定されていません」というエラーも表示されます。何をすべきか

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

c# - プッシュ通知を使用してWebアプリケーションを更新する

asp.net3.5で1つのWebアプリケーションを開発しています。今、私はWCFでプッシュ通知を行う必要があります。コールバックを使用してWCFを正常に開発しました。ページのライフサイクルが終了したため、Webアプリケーションを更新できないという問題が発生しました。では、Webアプリの更新方法を教えてください。

詳細については、plzでこのリンクを確認してください。WCF から応答を取得した後にメッセージを表示する

それが不可能な場合は、whtメソッドを使用する必要があります。800〜1000人のユーザーを除いてオンラインであるため、ポーリングは使用したくありません。サーバーが1つしかないため、パフォーマンスについて心配する必要があります。だからplzは私に良い解決策を教えてくれますそしてまた私は今グーグル、ヤフーがプッシュ通知をどのように行うかを知りたいです。