質問

WCF を使用した動的プログラミングの経験がある人はいますか。動的プログラミングとは、実行時の WSDL の消費を意味します。ブログ エントリ/ツールを 1 つ見つけました。http://blogs.msdn.com/vipulmodi/archive/2006/11/16/dynamic-programming-with-wcf.aspx

これに適したツールを見つけた人はいますか?

役に立ちましたか?

解決

これは、WCF の奇妙な側面の 1 つです。チャネルファクトリーは動的に作成できますが、既知のタイプのみを使用できます。

完璧ではありませんが、機能する解決策を思いつきました。

単一のメソッドを含むインターフェース「IFoo」を作成します。 Execute(). 。ESB で動的に作成します。 ChannelFactory<IFoo> 接続するエンドポイントの場合。接続プロパティ(URIなど)を設定します。

サービスが常に「IFoo」インターフェイスを実装している場合、サービスを ESB に動的にアタッチできるようになりました。

他のヒント

私はずっと前に SOAP Web サービスを使用してこれを実行しました。GotDotNet にツールがありました。 Web サービス スタジオ エクスプレス, 、WSDL ファイルを検査/解析し、それを呼び出すことができるコードが含まれていました。

WSDL はクライアントの作成時に既知であり、実行時に接続する必要がないことが前提になっていると思います。実行時に WSDL を検査する場合でも、プロキシの生成方法を決定するための何らかのロジックが必要です。実行前に WSDL を使用できないのはなぜですか?Web サービスは、一度公開されると変更されないインターフェイスを備えたかなり静的なものであると想定されています。

.NET CodeDom を使用して、WSDL で記述された Web サービスを実行および使用するコードを生成できます。WSDL は、標準の .NET XML クラスを使用して解析できます。

私は実際に、ユーザーが実行時にルーティング先となる Web サービスを追加できる小さな ESB を作成することを検討しています。したがって、WSDLを静的に追加することはできません

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top