10.55 - 23. února 2009 |
Webové služby
Náš intranet používá pro AJAXy ADO.NET Data Services, což je pěkný
REST framework. Tento framework je postavený nad IQueryable (tedy
LINQ) a také nad WCF. Nedávno jsme
prováděli přeinstalace serverů a tak se stalo, že AJAXové dotazy začaly
vracet 404.
Bylo to divné, protože jinde to fungovalo a vždy stačil
xcopy deployment. Tak jsem zkusil zadat adresu služby do
prohlížeče a zase 404. Proč to nejde? Koukám na mapování handlerů
v konfiguraci IIS7 a helemese chybí svc binding. Ale proč?
Vždyť je všechno nainstalovaný jak má bejt.
Po chvilce pátrání jsme našel jednoduché řešení. Stačí spustit
registraci ručně:
"%systemroot%\Microsoft.NET\Framework\v3.0\Windows Communication Foundation\ServiceModelReg.exe –i"
Pro 64-bitové systémy pak:
"%systemroot%\Microsoft.NET\Framework64\v3.0\Windows Communication Foundation\ServiceModelReg.exe –i"
Dnes mi píše Radek, že přesouval intranet na Domain Controller, aby nebyl
na našich vývojových strojích a že mu AJAXy vracej 404. Takže tohle je
i tak trochu pro něj.
Autor: Aleš Roubíček |
|
Delicious |
FriendFeed |
Facebook |
Linkuj!
15.38 - 16. října 2008 |
Webdesign
Možná si říkáte, tady to umřelo, nic se neděje. Možná máte pravdu.
Je to tím, že poslední dobou toho mám docela dost. Krom příprav na
sobotní přednášku, jsem
se musel věnovat shánění a následnému stěhování a nyní už
i zařizování, což mě docela vytěžuje. :) Navíc v novém bytě ještě
nemám zaveden internet, tak jsem téměř mužem v off-linu.
K příležitosti WebExpa jsem si
vytvořil kalendář,
kde bych se chtěl nejspíš pohybovat, uvidíme, jak to nakonec dopadne.
No a když už se to tak blíží, tak Microsoft nezapoměl vydat beta
verzi ASP.NET MVC o němž chceme s Borkem povídat. Neni to jediný
release před konferencí, například vyšel i Silverlight 2 o němž bude po
nás povídat Štěpán Bechynský.
Vzhledem k tomu, že změny mezi Preview 5 a Beta verzí nejsou nikterak
veliké (stačí pár drobných úprav, aby vše opět běželo jak má, budeme
na přednášce tedy ukazovat už Betu. Já už jsem převedl moji ukázkovou
aplikaci. Ta bude aplikace našeho tuaregského intranetu, takže žádná
ukázková spatlanina, ale aplikace z reálného života. Dobré je, že na ní
můžu ukázat jak ASP.NET MVC, tak ADO.NET Data Service, které v projektu
také používám.
Tak pokud budete na WebExpu, tak mě nezapomeňte přijít pozdravit ;)
Autor: Aleš Roubíček |
|
Delicious |
FriendFeed |
Facebook |
Linkuj!
06.44 - 10. září 2008 |
Webdesign
Pokud se rozhodnete pro vaše AJAXové aplikace požívat RESTové služby
ADO.NET Data Services, jistě se dostanete do situace, kdy máte komplexní typ
a potřebujete vytvořit novou entitu s odkazem na již existující
objekt.
Řešení tohoto problému jsem hledal dost dlouho, nakonec bylo celkem
jednoduché.
Problém
AJAXově vytvářím entitu, která má vlastnost User, což je
reference na uživatele, který danou entitu vytvořil –
kterému patří.
Cesta k řešení
Nejprve jsem zkoušel využít něco podobného, jako je u entit, které
jsou vráceny pomocí metody GET. Tedy odkaz na jinou entitu je vyjádřen
pomocí vlastnosi __deffered a ta má atribut uri,
který odkazuje na již existující entitu pomocí jejího URL. Bohužel, to nefungovalo,
protože __deffered je metodou POST ignorováno. Kód vypadal asi
následujícně:
User: { __deffered: { uri: "/Users(13)" } }
Pak jsem tedy zkusil druhý zoufalý krok. Zkusil jsem použít atribut ID,
který je vlastně jediný důležitý pro správné persistování do
databáze. Kód následující:
User: { Id: 13 }
Jenže ani to není správná cesta, navíc si tak můžete Usera
poškodit.
Konečné řešení
Konečné funkční řešení se od toho původního pokusu skoro neliší,
ano byl jsem hodně blízko a vzal to oklikou a až důkladné čtení
dokumentace mi otevřelo oči. Vlastnost __metadata byla aktuálně
tou správkou, která se měla použít! Takže správný kód
vypadá takto:
User: { __metadata: { uri: "/Users(13)" } }
Závěr
Já vím, není to žádná super extra informace, ale já k jejímu
získání spotřeboval celkem dost času. Možná to někomu ušetří starosti
a hledání… Pokud vás zajímají ADO.NET Data
Services – což je velice zajímavá technologie – můžete se
přijít podívat na naši přednášku
o ASP.NET, kde o nich bude utroušeno několik slov a předvedena pěkná
ukázka ve spojení s AJAXem a k databázi budeme přistupovat přes NHibernate místo Entity
Frameworku.
Tagy: DataServices, AJAX
Autor: Aleš Roubíček |
|
Delicious |
FriendFeed |
Facebook |
Linkuj!
19.38 - 4. září 2008 |
Webdesign
Je to už pár měsíců, co mě oslovil Vašek
Stoupa, zda bych nechtěl přednášet na WebExpu o ASP.NET
MVC.
Zprvu jsem váhal, protože nemám žádné
prezentační zkušenosti a tak jsem to chtěl celé hodit na Borka. Jenže pak jsem si
vzpomněl na skvělé přednášky z MIXu, kde nebyl pouze jeden
přednášející, ale tandem.
Slovo dalo slovo, Vašek i Borek souhlasili a my jsme zapsaní v programu
konference. :) Protože ASP.NET MVC ještě není ve stabilní formě API (ta by
měla být více méně stabilní v betafázi, která se blíží), domluvili
jsme se na tom, že probereme více věcí.
Doufám, že se Borek nebude zlobit, když prozradím naši předběžnou
osnovu. Můžete se k ní vyjádřit v komentářích a my ji můžete
případně vylepšit. :)
Osnova
- WebForms – povídání o tom, kde je vhodné použít klasické WebForms
a novinkách ve verzi 3.5
- AJAX – povíme si, jak je integrována podpora AJAXu v ASP.NET
- ADO.NET Data Service – bližší seznámení s REST službami
postavenými nad ADO.NET a ukázka ve spojení s AJAXem
- Dynamic Data – povídání a ukázka dynamicky vytvářených
administračních rozhraní ze schématu databáze.
- MVC – povídání a ukázka MVC frameworku, jak se liší od WebForms a
možná i spojení s Dynamic Data, to jak zbyde čas.
Pokud vás tato témata zajímají, přijďte se na nás
podívat, pokud nezajímají, přijďte se podívat na koktajícího
rarouše… ;) Každopádně tam bude spousta jiných zajímavých přednášek,
třeba Davidův evergreen
o Nette Frameworku.
Tagy: WebExpo, Asp.Net, ASP.NET MVC
Autor: Aleš Roubíček |
|
Delicious |
FriendFeed |
Facebook |
Linkuj!