2011-03-22 14 views
1

修正できないコーディングシナリオがあります。 同期WCFサービスがあり、WCFサービスをホストせずにAdd Service Reference(slsvcutil.exe)をシミュレートします。これは可能ですか?サービスをホストせずにASyncパターンをWCFサービスに追加せずにSilverlight用のWCFプロキシを生成します

wsdlファイルからクライアントを生成するのにslsvcutilを使用しますが、エンドポイントが必要なために動作したくありません。サービスをホストすることなく、すべての呼び出しを非同期にすることによってWCFサービスを編集することなく、Silverlight用のWCFプロキシを生成することは可能ですか?

答えて

0

「非同期パターンを追加しない」ため、ホスティングせずにプロキシを生成する理由はありますか?

非同期に呼び出し可能にするためにWCFサービスを編集する必要はなく、非同期はすべてサーバーではなくクライアントによって処理されます。

このチュートリアルを見ると、サービスコードにはasynchがまったく言及されていないことがわかります。 http://www.dotnetcurry.com/ShowArticle.aspx?ID=228

実際にSilverlightのすべてが非同期であり、正当な理由があります。これは、エンドユーザーがブロックされたUIスレッドを経験しないように、アプリケーションがデータをフェッチするようにするための方法です。

+0

はい私はWCFサービスに非同期パターンを追加したくありません。 サービス参照を追加すると、クライアント側に同期パターンを追加するクライアントが作成されます。 slsvcutil.exeを使用してこれをシミュレートしたいのですが、ローカルの.wsdlファイルからクライアントを生成できません。エンドポイントが見つからないというエラーメッセージが表示されます。だから私はエンドポイントを持たずにプロキシを生成できる方法があるかどうか尋ねています。 これが可能かどうかご存じですか? – Casper

+0

可能かどうかわかりませんが、Silverlightランタイムで利用できるクラスからWCFクライアントを手作業で手作りしなければならないと思われます。なぜあなたは非同期を望んでいないのですか? Silverlight IMOを使用する主な理由は、改良されたUXのためであり、シンクロナスサービスへの移行はそれに反するでしょう。 – BenCr

+0

Silverlight側で非同期を使用しても構いませんが、Silverlightがエンドポイントなしでプロキシを作成できないため、WCF側を編集したくありません。 私は唯一の方法は、エンドポイントを必要としないslsvcutilのようなコード生成器を作ることだと思います。 – Casper

関連する問題