Atlas Web Service Proxy
昨日まではprototype.jsを使ったりJson.NETを使って、自分でデータ変換の処理を書いていたんですが(´ー`)
AtlasにはAtlas Web Service Proxyとかいうものがあるそうで。
とりあえず、組み込み方法について。
Atlas関連のDLLをプロジェクトに入れて、Web.configにもAtlasの設定を追加します。
で、その追加する設定の中で、ポイントとなるのは以下の部分です。
<httpHandlers> <remove verb="*" path="*.asmx"/> <add verb="*" path="*.asmx" type="Microsoft.Web.Services.ScriptHandlerFactory" validate="false"/> </httpHandlers>
つまり、デフォルトのasmx(WebService)に対するハンドラを、Atlasで提供されているものに置き換えているわけですね
で、これによって何が起こるのかというと。
まず、今までと同じ呼び出し形式については、そのままで互換性があります。
それにプラスして、WebServiceのURLの後ろに以下の様にjsを付加してリクエストを行うと、
http://〜/WebServices/MapWebService.asmx/js
次のような文字列が応答として返ってきます。
#見やすく改行とかしてます。
var MapWebService=new function() { this.appPath = "http://〜/"; var cm = Sys.Net.ServiceMethod.createProxyMethod; cm(this,"GetSpots","minX","minY","maxX","maxY"); } var gtc = Sys.Net.WebMethod.generateTypedConstructor; Type.registerNamespace('Map.Model'); Map.Model.SpotInfo = gtc("Map.Model.SpotInfo");
詳細はまだ良くわかっていませんが、つまりproxyを生成してくれるってことですね?
これがあれば、低レベルの処理を自分で書く必要は無いと言うことなんでしょう(・∀・)
まあ、他の言語ではこういうものは無いわけですし、prototype.jsのお勉強も無駄にはならないということで(´ω`)
あと、この辺の日本語での情報ってまだ無いのかしら?