問題タブ [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 に答える
47 参照

unity-container - Unity が WCFServiceClient を解決し、WCFServiceclient を閉じる

Unity を使用して WCFService を解決しています。WCF の優れたプラクティスでは、完了したらクライアントを閉じます。

しかし、Unity を使用している場合、いつ、どのように WCFServiceClient を閉じるのでしょうか?

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

c# - WCF service issue when client has multilple IP addresses

I need some help in resolving an issue I'm facing an with communication of a desktop client with WCF service hosted on IIS.

What I'm trying to do in my test case:

  1. Server hosts a WSDualHttpBinding service
  2. Client establishes a connection (calls Register method) to this by providing its callback uri which contains the client’s IP Address
  3. Once connection is established, a web page is launched by the client application. User types some text into the textbox and clicks Send. The web page sends the text to all registered desktop clients.

Issue:

In step 2, a PC may have multiple IP Addresses (Ethernet adapter, loopback adapters etc). If during the registration call, an IP from this list is sent in the callback url which cannot be called back from the server (e.g. loopback adapter IP), a timeout exception is thrown. After a few such attempts, the server cannot accept calls from clients anymore (whether valid IP or otherwise). Sometimes “server too-busy” exception was thrown.

(I cannot use machine’s fully qualified name in the callback uri due to DNS/WINS configuration issues causing the server to not not resolve machine name to the correct IP address).

How to reproduce:
a. Publish the server on IIS. From a different machine with multiple IP addresses, execute the client. The client throws timeout exceptions and program exits after 3 tries b. A parameter in the App.Config allows one to type in the right IP address (IP to use). Now if the program is launched, everything works fine.
c. If I remove this IP address specified above so that an incorrect IP is used, again step a happens. Run the programs 2-3 times in this mode.
d. Make changes as in step b and run the program. Sometimes I get a timeout exception. Other times, the web site comes up. However when text is entered and sent, it doesn't come to the client. (The register method worked even though web service did not receive any call. Sending function fails as there are no registered clients on the web service.

I’m not sure why exactly this happens and how to address it. Here is my Visual studio solution - http://bit.ly/atKfOS

Highly appreciate any inputs, comments. Environment: Server - Windows XP (IIS 5), Windows Server 2008 SP2 x64 (IIS 7), Client: Windows XP

Thanks GC

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

wcf - REST を使用する WCF、拘束力のある質問がある

私は今本当に混乱していて、どこにも正しい答えが得られません。

私の混乱は次のとおりです。

1)RESTの代わりにSOAPで使用され、RESTはwebHttpBindingのみを使用するwsHttpBinging(basicHttpBindingを強化したもの)ではありませんか?

2) また、WCF (REST) を使用した Silverlight 4 は wsHttpBinding (VS2010) をサポートしていますか? ネット上のどこにでもあるわけではないことを読みましたが、wsHttpBindingを使用してSilverlight 4をRESTで動作させる方法を学びました。注: Factory="System.ServiceModel.Activation.WebServiceHostFactory" を使用しています。この工場出荷時の設定は、何らかの方法で wsHttpBinding の web.config 設定をバイパスして、webHttpBinding で動作するようにしていますか?

ありがとうございました。

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

binding - WCF ヘルプ、net.tcp 経由で別のサービスを呼び出すサービスを http 経由で公開するにはどうすればよいですか?

IIS でホストされている WCF .svc ファイルがあります。basicHTTP バインディングを使用したい。このサービス ジョブは、net.tcp を介して別のサービスを実際に呼び出すことです。ローカルではすべて正常に動作しますが、展開するとこのエラーが発生します。

指定された URI スキーム「http」は無効です。「net.tcp」が必要です。パラメータ名:経由

サーバー構成はこちら

そして、これが svcutil が生成する構成です

これを正しく配線するにはどうすればよいですか。http 経由で InternalInterfaceService を公開したくありません。ここで間違っていることは何ですか? ヒントや提案は大歓迎です。

ありがとう、
~ck

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

wcf - WCFサービスでのKnowTypeAttributeの使用

オブジェクトのリストをサービスに渡す必要がある状況があります。オブジェクトはELEMENTタイプである必要があります。Elementインターフェースをそのように定義しています

次に、DataContractsにこのIElementクラスを継承させます。。。。

また、サービスインターフェイスにKnownType属性があります。

問題はクライアント側にあり、IElementタイプはクライアントのサービスタイプの逆シリアル化では使用できません。私がここで間違っている可能性があることと、これを修正する方法を教えてください。

なし

0 投票する
6 に答える
5531 参照

c# - WCF UsernamePasswordValidator で現在の InstanceContext にアクセスする

カスタム UsernamePasswordValidator を使用している WCF サービスがあります。バリデータはエンティティ フレームワーク コンテキストにアクセスする必要があります。

サービス呼び出し全体に対して 1 つの ObjectContext を作成し、呼び出しの最後に破棄/破棄したいと考えています。そこで、この機能を提供するシングルトン静的クラスを作成しましたが、現在起こっていることは、2 つのサービス呼び出しが同時に発生した場合、呼び出しの 1 つがシングルトンを破棄するということです。

ObjectContext へのローカル参照を保持します。この場合、それを使用する 2 番目のサービスはそれを破棄され、スローしてエラーと見なします。または、Singleton クラスの必要な場所にラッパー プロパティを配置し、すべての変更がスローされます。別の呼び出しがそれを破棄した場合、オブジェクトの新しいインスタンスを取得しているためです。

基本的に私の質問は、サービス呼び出しごとに ObjectContext をインスタンス化するにはどうすればよいですか?

注: インスタンスは、サービス コードとカスタム UsernamePasswordValidator コードの両方でアクセス可能である必要があります。

カスタム UsernamePasswordValidator はそれにアクセスできないため、コンストラクターでそれを実行したり、using ステートメントを使用したりすることはできません。呼び出しごとに静的クラスを持つ方法はありますか? それは不可能に聞こえますが、これを回避する方法は何ですか?セッションでオブジェクトをキャッシュする必要がありますか?

私のサービスは IIS でホストされています。

更新:
したがって、IExtension オブジェクトを使用して InstanceContext に状態を格納することにこれを釘付けにしました。しかし、UsernamePasswordValidator で現在の InstanceContext にアクセスするにはどうすればよいですか?

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

wcf - WCFクライアント-WCFサービスから返されるストリームの最初の255バイトのみに値が含まれます

私は、WindowsサービスによってホストされているWCFサービスと通信するASP.NetWebFormsアプリケーションの管理を任されています。サービスに使用されるバインディングはnetTcpBindingです。

このサービスは、「ファイル」をアップロードおよびダウンロードするためのメソッドを公開します。ユーザーがファイルのアップロードを選択すると、HttpPostFile.InputSteamがサービスの「Upload」メソッドのパラメーターとしてサービスに直接渡されます。このサービスは、ストリームをバイト配列としてデータベースに保存します[データベースフィールドのデータ型はvarbinary(max)です]。

ファイルのダウンロードデータフローは、基本的に逆のプロセスです。バイトはデータベースから取得されます。WCFサービスのMemoryStreamに読み込まれます。その後、Webアプリケーションに戻ります。

クライアント(Webアプリ)とサービスで、上記の操作の各ステップでストリーム(送信/受信)に含まれるデータをキャプチャしました。ループして、各ストリームに含まれるバイトをフラットファイルに書き出しました。

それぞれの場合のバイト配列は同一です[バイト値; およびストリーム内のバイト数]ファイルのダウンロード操作を除く。ストリームがWCFサービスからWebアプリケーションに返される時点。ここでは、受信したバイト数は正しいですが、最初の255バイトのみが入力されています。残りのバイトの値はゼロです

問題はここにあるに違いないと私は信じているので、私はバインディング値に多くの実験的な変更を加えました-サービス中のクライアントの両方で-。今日まで、返されるバイトのステータスにはまったく影響を与えていません。クライアントとサービスのログには、例外がスローされたり、その他の問題が発生したりすることはありません。

クライアントアプリケーションとサーバーアプリケーションのバインディング(およびその他の構成)属性の正しい組み合わせを設定した経験はあまりありません。これまではデフォルトに依存していました。最大許容ファイルサイズを転送するようにサービスとクライアントを構成する必要があります。残念ながら、MTOMは使用できません。

この投稿とリンクは、私に洞察を提供しませんでした。これまでのところ、役立つ情報は他にありません。

うまくいけば、誰かが問題が何であるかについて私を助けてくれるでしょう。以下は私が使用しているバインディングです:

クライアント[web.config]:

サービス:

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

wcf - netTcpBinding の動作 - 再接続

netTcpBinding を使用する WCF サービスがあります。問題は、このサービスのホストが常にアクティブであるとは限らないことです。そのため、クライアントがサービスを使用しようとすると、サーバーがオンラインである限り成功します。サーバーが再起動すると、クライアントはチャネルを再確立する必要があります(netTcpBindingが原因です)httpBindingを使用すると問題は解決しますが、このバインディングは使用できません。私の質問は次のとおりです。サービスに接続するときにnetTcpbindingをbasicHttpBindingのように「動作」させる方法はありますか(動作???)(サービスプロキシで使用するたびに新しい接続が確立されます)??

ありがとう、リラン

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

c# - c# WPF と WCF のマッピングの問題

私は実際に、サービス参照を介して WCF に接続された wpf プロジェクト ウィッチを作成しようとしています。また、wpf プロジェクトで MVVM パターンを使用しており、viewModel の CTOR で serviceManager を宣言すると問題が発生します。

私のview.xamlは私に言います:サービスモデルクライアント構成セクションでコントラクト「UserServiceReferences.IUserManagement」を参照するデフォルトのエンドポイント要素が見つかりませんでした。これは、アプリケーションの構成ファイルが見つからなかったか、このコントラクトに一致するエンドポイント要素がクライアント要素に見つからなかったためである可能性があります。

ここに私のApp.configファイルがあります:

そしてここで私のWCFサービスの私のWeb.config:

これらの 2 つのプロジェクトは同じソリューションにあります。

私は道に迷っています私を助けてください!!!!

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

silverlight-4.0 - Silverlight で wcf サービスから結果を取得中にエラーが発生しました

silverlight4.0 を使用して WCF サービスを使用しています。私の機能は正常に動作していますが、ある時点で「リモート サーバーがエラーを返しました: NotFound」のような例外が発生します。これは内部例外メッセージであり、応答ステータス コードは「System.Net.HttpStatusCode.NotFound」です。誰でもこの問題を解決できます..よろしくお願いします。