ものがたり(旧)

atsushieno.hatenablog.com に続く

2008-02-18から1日間の記事一覧

おまけの笑い話

これね、デブサミ2008で .NET 3.5のセッションを聴きながら実装していたわけですよ。System.WorkflowServicesも実装したら面白いかもねえとか考えながら。こっちはWebHttpBindingの2倍くらいのクラス/メンバがあるから大変そうだけど(それにWFよう分からん…

最後に、まだ不明なもの

WebHttpBindingを用いた一連の処理の流れは、以上の通りになるが、僕がまだ解いていないパズルがある。 WebOperationContextのOutgoingRequest / IncomingResponseがどの場面で使用できるのだろうか。 WebHttpBehaviorにはGetRequestDispatchFormatter()と G…

クライアントによるレスポンスの処理

さて、クライアントはHttpRequestChannel.Request()を通じてMessageを応答として受け取ることになる。HTTPレスポンスとなるストリームは、そのContent-Typeによって、適切な解析フォーマットが選択され、それに基づいて処理される。もしWebMessageEncodingBi…

サービス側のリクエスト処理

ここからはサービス側の処理フローの説明になる。 WebHttpDispatchOperationSelector サービスがメッセージを受け取るのは、TransportBindingElementから生成されたIChannelListenerから生成された IReplyChannelやIInputChannelを通じてのことである。WebHt…

リクエストの発行

ClientRuntime クライアントコードでChannelFactoryからサービスインターフェースの実装をCreateChannel()で生成すると、それは実際には ServiceContractであるインターフェースから自動生成されたproxy typeのインスタンスであり、その中にはClientRuntime…

基本的なクラス

WebChannelFactoryとWebServiceHost もし普段クライアント側でChannelFactoryを使っているのなら、それをWebChannelFactoryに置き換えると、後述する WebHttpBehavior(IEndpointBehavior)を自動的に補完してくれる。自分で ServiceEndpoint.BehaviorsにWeb…

はじめに

.NET 3.5のWCFに新しく追加されたWebHttpBindingとその周辺をmonoで実装してみたので、細かいことを分かっている範囲でちまちまと書いてみる。how to use的な話を書いてもMSDNとかぶるだけなので書かない。あと例によってconfigurationを使ったやり方も僕の…