Klávesové zkratky na tomto webu - rozšířené Na obsah stránky

Registrace svc handleru pro IIS7

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.

What's Up?

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 ;)

Reference na objekty v ADO.NET Data Services

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: ,

Povídání o ASP.NET na WebExpu

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 WebExpuASP.NET MVC. WebExpo 2008 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

  1. WebForms – povídání o tom, kde je vhodné použít klasické WebForms a novinkách ve verzi 3.5
  2. AJAX – povíme si, jak je integrována podpora AJAXu v ASP.NET
  3. ADO.NET Data Service – bližší seznámení s REST službami postavenými nad ADO.NET a ukázka ve spojení s AJAXem
  4. Dynamic Data – povídání a ukázka dynamicky vytvářených administračních rozhraní ze schématu databáze.
  5. 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: , ,