2009-02-27 8 views
1

Webサイトの訪問者とWindowsホストのWCFサービスの間のプロキシとして機能するHttpHandlerがあります。現在、WCFサービスはjson要求を処理するように設定されていますが、json要求をnet.pipeまたはnet.tcpに変換するか、またはWCFが処理できるプロトコルに変換したいと考えています。 net.pipeを使用して> IIS /のHttpHandler < --SOAP/XML - - > WCFサービスJSONからIPC/TCP/etcへのWCFリクエストの変換

クライアント<をHTTP(S)を使用して--json:私は行くコミュニケーションを持つように期待しています

これは可能ですか?

今私はHttpHandlerを使用してWCFサービスに別のWeb要求をしていますが、それから離れたいと思います。問題は、プロキシでは実際の方法(私が見ることができる)がないこと、呼び出し元のメソッドにoutパラメータが含まれている場合にレスポンスを逆シリアル化する方法です。例えば

この方法を取る:

int DoSomething(string x, out long y) 

私はのHttpHandlerプロキシのロジック内で標準WCFプロキシオブジェクトを使用して、そのメソッドを呼び出すとしたら、どのように私は、その後WCFsを使用してJSONにその応答を(シリアライズ可能性jsonの書式設定)、それをクライアントにフィードバックしますか?

+0

私はこの問題を理解していないのですか?JSONはデータ形式であり、net.tcpは多くのデータ形式を提供するプロトコルです。 –

+0

ですが、WCFはデフォルトでXML/SOAPの他のプロトコルをすべてフォーマットします。私の質問をすばやくきれいにさせてください –

答えて

0

私はあなたがサービスを念頭に置いて設計している場合、あなたの "メソッド"にメッセージ指向の署名を持たせたいと思います。

ResponseMessage DoSomething(RequestMessage) {...} 

ではなく

int DoSomething (String x, out long y) {...} 

それはあなたが他の問題の中で、あなたの質問に提起課題を回避することができます。これは、パラメータではなく、サービスの内外へのメッセージの観点から考えるのに役立ちます。

質問のルートに戻る... JSON/HTTPを話すクライアントとWCFサービス(ネット上でリッスンしたい)との間のプロトコルブリッジです。パイプチャネル。まあ、申し訳ありませんが、あなたのためにこれを行うオートマチックプロトコルブリッジはありません。

しかし、おそらくあなたは魔法を探しているわけではありません。あなたがブリッジコードを書くことに満足すれば、はい、うまくいくでしょう。しかし、最初にそれらのメソッドシグネチャをクリーンアップしてください。