問題タブ [wcfserviceclient]

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

wcf - 初心者向けWindowsサービス/WCFおよびフロントエンドGUIの実装質問

私はこのデザインにアプローチするための最良の方法を見つけようとしています...これが私がやろうとしていることの背景です:

イーサネット経由でコンピューターにデータを送信するシンプルなデジタルI/Oコントローラーがあります。このデータをイーサネット経由で受信できるプログラムがあります。このデータをGUIで表示する別のフロントエンドアプリケーションが必要です。イーサネット経由でI/Oデータを取得するプログラムと、これをフロントエンドとして表示するプログラムをインターフェイスするための最良の方法を見つけようとしています。このインターフェイスは、コンピューターが起動するたびに実行され、バックグラウンドでI/Oを常にポーリングする必要があります。

Windows Communication Foundation(WCF)について読んだことがありますが、これはこれを行うための良い方法のようです。Windowsサービスは静かにI/Oをポーリングし続けるため、WCFインターフェイスに接続するクライアントはこのデータをGUIに表示できます。

私はこれについてすべて間違っていますか?これは物事を行うための良い方法のように見えますか?フロントエンドクライアントはどのようにしてWCFサービスからデータを取得しますか?

前もって感謝します。

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

wcf - 一方向メソッドの信頼性を有効にする方法は?

一方向の通話、コールバック、およびイベントについて知っておくべきことの記事では、次のように説明しています。

クライアントが呼び出しの結果を気にしないという事実は、呼び出しが行われたかどうかをクライアントがまったく気にしないという意味ではありません。一般に、一方向の通話であっても、サービスの信頼性をオンにする必要があります

信頼性を有効にする方法を見つけようとしましたが、意味のあるものは見つかりませんでした。

手伝っていただけませんか:

  1. 信頼性を有効にする方法
  2. 一方向メソッドがサーバーに到達したかどうかを確認する方法は?

どうもありがとう!

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

wcf - WCF-クライアントはエンドポイントと同じ動作をする必要がありますか?

次のWCFエンドポイント構成があります。

これが私のクライアント構成です:

私は動的にWebサービス呼び出しを行っており、別のアドレスを提供しています。

エンドポイントを呼び出すと、次のエラーメッセージが表示されます。

{"EndpointDispatcherでのContractFilterの不一致が原因で、アクション'http:// IMyService / CreateContainer'のメッセージを受信者で処理できません。これは、コントラクトの不一致(送信者と受信者の間のアクションの不一致)または送信者と受信者の間のバインディング/セキュリティの不一致。送信者と受信者が同じコントラクトと同じバインディング(メッセージ、トランスポート、なしなどのセキュリティ要件を含む)を持っていることを確認してください。 "}

これは、クライアントがエンドポイントと同じserviceBehaviorを持っていないという事実が原因でしょうか?私が見逃している可能性のあるものは他にありますか?

ありがとう!

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

wcf - Silverlight 4 と WCF サービス間の安全なデータ転送

バックグラウンド

私のWCFサービスでwsHttpBindingをいじった後、Silverlightがそれをサポートしていないことがわかりました!! サービス側とクライアント側の両方で復号化された暗号化されたデータをネットワーク経由で送信することを考えた後、これはパフォーマンスの問題である可能性があると考えました。さらに、これが物事を行うためのきちんとした方法であるかどうかはよくわかりません。

Silverlight アプリケーションのログイン ページのシナリオを例にとると、aspx 側でログインでき、認証が成功すると、Silverlight アプリケーションをホストするページにリダイレクトできるとさえ思っていました。ここでの問題は、xap がクライアントにダウンロードされると、ブラウザーから実行できるため、aspx ログイン ページを完全にバイパスできることです。

質問

Silverlight クライアントと wcf サービスの間でデータを安全に転送したい場合、どのようなオプションがありますか? ワイヤー上のデータが潜在的なワイヤースニファーなどに役立つことは望んでいません。

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

wcf - サービスからメソッドを呼び出すと、WCFクライアントがフリーズします

この奇妙な問題があり、クライアントがWCFサービスからメソッドを呼び出すとハングします。さて、本当に奇妙なことは、クライアントがコンソールアプリケーションの場合はこれが起こらないということです。これは、クライアントがWinFormまたはWPFアプリケーションの場合に発生します。

WCFクライアントがサービスへの接続に使用できるクライアントライブラリを作成しました。次に示します。

動作するWCFコンソールクライアントのコードは次のとおりです。

そして、これがフリーズするWPFクライアントのコードです(コメントを参照)

コードにステップインするDCCClient.Proxy.DCCInitialize();と、サービスはコマンドを正常に実行しますが、何らかの理由でクライアントがここでスタックし、実行を続行しません。クライアントは例外を与えず、スタックトレースは[外部コード]を示します。

そうは言っても、コンソールクライアントは完全に実行されます。私はここで簡単な何かが欠けていると思います。私はあなたが提供できるどんな助けにも感謝します。

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

wcf - WCFはエンドポイントとバインディングをコードで動的に設定します

はい、SO、MSDN、およびその他のサイトで他の質問を読みましたが、理解できるほど明確な回答は見つかりませんでした。Silverlight アプリケーションの WCF 参照を、ロード元のサイトに対して相対的に設定する必要がありますが、動作させることができません。サービス自体に問題はなく、動いています。ローカル サーバーから実サーバーに移動すると、SL アプリでエラーが発生し、localhost に接続できないというエラーが表示されます。

これが私のServiceReferences.ClientConfigファイルです:

はい、バッファ/メッセージ サイズ最適化します。DoS エクスプロイトの可能性はわかっています。今は忘れてください。大きなファイル転送にはそれらが必要です。私が試したアプローチは、クライアントのインスタンス化中に、次のコードを使用したことです。

Settings.HostSLアプリが実行され、テストされ、機能するホストを返す独自のメソッドはどこにありますか。XAP をアップロードして試してみたところ、まだ .xap を探していました。さらに調査したところ、見えないファイルに localhost への参照http://localhost:60322/AccountManager.svcがまだたくさんあることに気付きました。

AccountManager.disco:

の部分AccountManager.wsdl: ... <wsdl:import namespace="" location="http://localhost:60322/AccountManager.svc?wsdl=wsdl0" />... ...[たくさんの操作宣言]...

の一部AccountManager1.xsd:

<xs:import schemaLocation="http://localhost:60322/AccountManager.svc?xsd=xsd2" namespace="http://schemas.datacontract.org/2004/07/Leftouch.Data.Summary" />

の一部configuration.svcinfo:

の一部Reference.svcmap:

..そして、これらすべてを他の 2 つのサービスについても繰り返します。

私は Web サービス/バインディング/エンドポイント/操作コントラクトまたは関連するもののマスターではありません。私は、(URI がハードコードされている場合) 既に完全に機能しているシステムを相対 URI で機能させたいだけです。必要なのはそれだけです。簡単な解決策があるはずです。これらのファイルの種類と宣言が正確にどのようなものであるか、どれが重要でどれがオプションであるか、またどのようにして最もクリーンな形式で動的サービス参照を作成できるかを誰かが説明できますか? 説明付きでお願いします。動的サービスのバインディングと参照に関する投稿や記事をすでにたくさん見てきましたが、正直なところ、すべてがめちゃくちゃになってしまい、何も理解できなくなります。建設的な批判と解決策は大歓迎です。

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

c# - 複数のプロジェクトへの WCF サービス参照の追加

非常に基本的な質問がいくつかあります。私はWCFを初めて使用し、サービスプロジェクト、Webアプリケーションプロジェクト、およびビジネスロジックなどに使用するいくつかのクラスライブラリプロジェクトを持つアプリケーションを構築しています.

IIS で WCF をローカルにホストしており、サービス参照をプロジェクトに追加しようとしています。

質問 1.参照を追加する場合、各プロジェクトに個別にサービス参照を追加する必要がありますか、またはプロジェクト間で同じサービス参照を共有する方法はありますか?

私が尋ねる理由は、個別の参照を追加すると、各参照が独自​​の名前空間を取得し、プロジェクト間で同じオブジェクトを渡す必要がある場合、各 ServiceClient に異なる名前空間があるため、InvalidCastException が発生するためです。

例 - Site.Business.XDataService.XDataServiceClient().GetItem() は Site.Web.XDataService.XDataServiceClient().GetItem() と同じではありません

質問 2. Service インターフェイスを実装するクラスで、ローカル サービスのアドレスを次のように指定しました。

[ServiceBehavior(Namespace = "http://localhost:801/XDataService.svc", IncludeExceptionDetailInFaults = true)]

これは正しくないようです。コードを別の/ライブ環境に移動すると、明らかにこの部分を再度変更して再コンパイルする必要があります。アプリを再構築せずにこのアドレスを変更できるように、どこでこれ (Web.Config?) を指定できますか?

あらゆる種類の洞察に感謝します。ありがとう!

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

wcf - ASP.Net を使用した WCF サービス

私はWCFが初めてです。

以下のサービスを書きましたが、正常に動作します。次に、IIS を構成し、ブラウザーhttp://localhost/WCF_Entity_SVC/ProductService.svcを介してサービスを実行しました。正常に動作します。ASP.Net Web ページを作成し、URL を使用してサービス参照を追加しました。ASP ページを実行すると、内部エラーが発生します。どんな助けでも大歓迎です。

ASP コード

webconfig にデバッグを追加すると、次のエラーが表示されます。

デバッグの目的で、Getparams(int id) という関数をサービスに追加します。この関数は ID を返すだけです。ASP ページで Getparams 関数を呼び出し、渡された引数を取得しました。これは、GetProduct 関数のパラメーターがサービスに渡され、エンティティ クエリへのリンクのどこかにエラーがあることを意味すると思います。

私が理解していないのは、サービスを直接実行してもエラーが発生しない理由です。データベースは私に結果を与える

さらにデバッグを行ったところ、open エラーの理由は次のとおりであることがわかりました。

sqlError: IIS AppPool\ASP.Net4 へのログインに失敗しました

これを修正するにはどうすればよいですか、私のsqlserverはWindows認証を介して実行されます。

msdn でセキュリティの問題を修正するスクリプトを見つけました。コードは機能していることがわかります

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

wcf - サービス クラスに必要な WCF ソリューション

クラスでいくつかのイベントを発生させ、操作を行います。例えば

これはコンソール アプリケーションで、システムの起動時に開始されます。ここで、イベント サービスで何らかのイベントがトリガーされたときに、監視アプリケーション (基本的にはコールバックを備えたクライアント) が必要です。そのためには、WCF を使用する必要があります。また、監視アプリケーションはサービス クラスを呼び出します。上記の例では、GetStatusForMessage メソッドが監視アプリケーションによって呼び出されます。それでは、WCF を使用してどのように実装できますか。上記のクラスをサービス コントラクトでサービスとして作成すると、クライアントが呼び出しを開始するまで初期化および開始されません。このクラス オブジェクトは、システムが再起動するたびに初期化され、その機能を開始します。

この記事http://msdn.microsoft.com/en-us/magazine/cc163537.aspxを見つけました。このアプローチにより、私のサービスはパブリッシャー クライアントになり、監視アプリケーションはサブスクライバー クライアント アプリケーションになります。ただし、クライアントはサービス クラスを呼び出す必要があります。したがって、私のクライアント アプリケーションは両方のコールバックをサポートする必要があり、サービス メソッドを呼び出すこともできる必要があります。WCFを使用してこれを達成するにはどうすればよいですか? イベントを監視しているサービス クラスは単一のインスタンスであり、アプリケーションの起動時に初期化されることに注意してください。

これに対する解決策が得られることを願っています。より明確にするために私に知らせてください。

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

c# - wcfクライアントアシスタンスの作成

私は現在、一連のWCFサービス参照と対話するためのWCFクライアントを開発しています。私はC#で開発しています。

svc utilを使用してサービス参照を生成したり、クラスライブラリにサービス参照を手動で追加したりするというアプローチには従いたくありません。

私は他の選択肢を私に開いていますか?ServiceModelライブラリ内でServiceClientクラスを使用することを検討しています。

たとえば、エンドポイントに関連するリクエストオブジェクトとレスポンスオブジェクトはどこで作成されますか、またはどのように作成されますか?以前のプロジェクトでは、T4マッピングとDTOを使用しましたが、これらはやり過ぎだと感じています。異なるサービスエンドポイント間で同じオブジェクトを共有できるのが好きでした。ここでの私の目標は、カスタムで作成されたプロキシを介して通信するカスタムクライアントオブジェクトを作成することです。これについていくつかの方向性を教えてください。