2009. április 29., szerda

Dictionary átadása webservice paraméterként

Időnként meglepően jó megoldásokba botlik az ember a .NET háza táján. Bármilyen valószínűtlenül hangzik is, lehetséges úgy hívni egy [ScriptService] -ként dekorált webszolgáltatást, hogy paraméterként egy Dictionaryt fogadjon.
A kliens oldalon ez gyakorlatilag egy vegyesfelvágott tömböt jelent, amit viszont a serializer szépen feldolgoz.
Ebben a postban kicsit részletesebben ki van bontva a téma és letölthető kód is fellelhető.

2009. április 10., péntek

Postback probléma régebbi IIS (5.x, 6) és/vagy XP Pro és ASP.NET routing esetén

A fejlesztői és a végfelhasználói környezet különbsége sok esetben okozott már fejtörést. Nálunk most éppen a futótérkép fejlesztése körül jelentkezett egy probléma az ASP.NET routing szolgáltatása kapcsán. Konkrétan a fejlesztői gép egy XP míg az alkalmazás valami újabb (esetünkben 2008 server). A routingot pedig használni kell, mert mennyivel jobban néz ki (meg persze SEO frendlibb) egy olyan path, hogy http://www.futoterkep.hu/utvonalak/ mint az, hogy http://www.futoterkep.hu/Modules/TrackList/tr_list.aspx. Igen ám, de az XP Pron az 5.1-es IIS erre az első aszinkron postback után egy 405-ös hibával köp szembe. Ez szerinte annyit jelent, hogy a postot a dev/null-ba küldted és nincs aki válaszoljon túlnan. Hosszas guglizás után sikerült kideríteni (már a hibaüzenet pontos jelentését sem könnyű), hogy a probléma az, hogy a borítékról lemaradt a címzés, így szegény postás vinné, de nem tudja, hogy hová. A HTTP világban ez annyit tesz, hogy a FORM tag action paramétere nem töltődik ki automatikusan és szegény IIS keresné azt a lapot, ahová a kérést küldjük, ami alapértelmezetten a _self vagyis saját maga. Igen ám, de a routinggal megtámogatott oldal esetén ez a lap fizikailag nem létezik, szegény IIS pedig buta és nem tudja megtalálni.

Mi hát a megoldás? Természetesen meg kell címezni a borítékot:

this.form1.Action = this.Request.RawUrl;

Ezután már tudja a postás hová kell vinni és Náncsi néni boldogan nézegeti mekkorát nőttek az unokák.
Persze a dologra rájönni korántsem volt annyira egyszerű, mint ahogy látszik. Remélem van akinek megspóroltam most néhány órányi google túrást…

2009. április 4., szombat

Alámerülés a Google Maps-szel ( vagy -ben)

Régen írtam már bármit is a Google Maps háza táján feltűnő fejlesztésekről. Kicsit úgy vagyok a témával mint az úriemberek a nemi élettel ugye. Csinálom, de nem beszélek róla.
Most viszont számos olyan új dolog került be a Google Maps API-ba, illetve köré, amire felkaptam a fejem, ezért röviden karcolok valamit a számomra legérdekesebbekről.
Először is az Earth API újdonságok (innen jön a rendkívül szellemes cím is).
Az óceán sem akadály mától az APInak, hiszen ezután vidáman fújhatjuk a virtuális buborékokat Jacques Cousteau szellemével a tengeralatti túrákon a böngészőnkben.
Az óceán fenekénél is érdekesebb helyen, mégpedig a Marson is lehet az új verzióval járkálni.
A mostani frissítésben még egy dolog ragadott meg: a pluginnal is lejátszható KML tour. Ezen a területen még van némi elmaradásom, ugyanis szeretnék utánanézni, hogyan is lehet ilyen "túra-fájlt" készíteni. Biztos nem ördöngösség, csak erre is kéne egy kis idő.
Na ennyit a parasztvakításról :)
Kikerült még nemrégiben néhány hasznos kis open-source JS cucc, aminek hozzám hasonló hobbisták, de profi GMap buherátorok is hasznát vehetik.
Nekem leginkább a tabbed infowindow plugin tűnik hasznosnak, de lehet, hogy más a többit is jól tudja hasznosítani.