Zine.net online

Witaj na Zine.net online Zaloguj się | Rejestracja | Pomoc
w Szukaj

Bartek Szafko

ASP .NET MVC Preview 4 już w tym tygodniu

Na blogu Scotta Guthrie ukazała się notatka, że już w tym tygodniu można spodziewać się następnej wersji preview ASP .NET MVC. Post zawiera również pierwszą część opisu zmian, które raczej nie dotyczą przysłowiowych bebechów, tylko nowych funkcjonalności. Muszę przyznać, że czytając posta miałem lekkie deja-vu.

To o czym pisze Scott to:
  • Atrybut HandleError - obsługa błędów opdowiednik Rescue z MvcContrib
  • Atrybut OutputCaheFilter - cachowanie wyników akcji, podobne propozycje można było znaleźć na wielu blogach
  • Atrybut Authorize - zabezpiecznie wywołania akcji tylko dla określonych, zalogowanych lub posiadających określoną rolę użytkowników. Zamiast tego z powodzeniem można użyć standardowego .netowego PrincipalPermissionAttribute
  • AccountController - czyli domyślny kontroler generowany z szablonem aplikacji realizujący logowanie, rejestrację i przypominanie hasła. Taką funkcję do tej pory pełnił MvcMembership , szkoda tylko że nie ma wsparcia dla Cardspace, ale widać że pewnie inna grupa się tym zajmuje
  • TempData - będzie można testować bez mockowania


Jak widać zespół postarał się, żeby dodać wszystko czego brakowało w pudełku z MVC.

Scott ma w następnym poście napisać o możliwościach użycia AJAXa, ciekaw jestem jak to im wyszło.

Bartek Szafko
Opublikowane 14 lipca 2008 18:53 przez bszafko
Filed under:

Komentarze:

 

dario-g said:

Ciekawe ile bugów poprawili. W sumie mogli by już wchodzić w jakąś betę to by przynajmniej można było przewidywać kiedy release :)

lipca 14, 2008 19:54
 

Luke said:

No właśnie na release szybko nie ma chyba co liczyć. A szkoda, bo MVC może znacząco odświeżyć ASP.NET...

lipca 14, 2008 23:57
 

bszafko said:

a mi się podoba podejście "it's done when it's done" przynajmniej mają czas na słuchanie użytkowników i sugestii

lipca 15, 2008 10:45
 

Luke said:

No jak najbardziej popieram, tylko żal, że nie można deployować komercyjnych aplikacji na MVC na razie... A ulepszać, to przecież zawsze mogą w nieskończoność, to nawet pożądane :)

lipca 15, 2008 13:43
 

bszafko said:

A tu Cię zaskocze - można deployować produkcyjne aplikacje( ScottGu tak napisał), oczywiście trzeba uwzględnić ryzyko zmian, niekompatybilności itp :P czyli trzeba sobie radzić samemu - brak w tej chwili licencji "go live"

lipca 15, 2008 13:56
 

rod said:

:) Ale właśnie brak licencji "go live" oznacza że formalnie nie można wykorzystywać oprogramowania w środowiskach produkcyjnych zatem i komercyjnych rownież.

lipca 15, 2008 15:03
 

bszafko said:

Odpowiadając przy okazji na pytanie kiedy będzie wersja finalna

http://weblogs.asp.net/scottgu/archive/2008/05/27/asp-net-mvc-preview-3-release.aspx#6237975

# re: ASP.NET MVC Preview 3 Release Saturday, May 31, 2008 1:05 PM by ScottGu

>>>>>>> Currently I've been developing our core application using ASP.Net MVC and Linq, and development progress almost 99% finish.  My question is, can I use this "MVC Preview 3" in our production server?  When the "ASP.Net MVC" full release version will be Launched?

You can deploy your application on the current preview just fine (the license allows for it).  We plan to ship the final "1.0" release of ASP.NET MVC later this year.

Hope this helps,

Scott

lipca 15, 2008 15:29
 

Tarciu said:

No cóż, to co zdradził do tej pory ScottGu jest mocno rozczarowujące. Ale na koniec napisał:

"My next post on ASP.NET MVC Preview 4 will cover the new AJAX functionality that has been added, and demonstrate how to take advantage of it."

Zobaczymy cóż to takiego będzie. A może ma jeszcze inne asy w rękawie ;)

Nie wiem jak Wy, ale ja o użyciu produkcyjnym MS MVC zupełnie nie myślę. To zdecydowanie nie ten etap. Ciągle skromna funkcjonalność i dużo krytycznych zmian z wersji na wersję. Do bety jeszcze długa droga.

lipca 15, 2008 23:42
 

Tarciu said:

Nie ma edycji, więc dopisuję w nowym poście:

Jeśli komuś tak bardzo śpieszy się z tworzeniem aplikacji w MVC, to jest MonoRail - w pełni dojrzały framework. Oczywiście nie jest tak trendy jak MS MVC, ale za to działa ;)

Inna sprawa, że przekonanie całego zespołu lub szefostwa do "jakiegoś" projektu OS jest dużo trudniejsze niż do nowego produktu MS o którym wszędzie się mówi. To jest niewątpliwa przewaga MS MVC.

lipca 16, 2008 00:02
 

bszafko said:

no właśnie kiedyś używałem monorail - bardzo przyjemny, ale mvc może go niestety zabić

jesteśmy alt.net więc używamy tego co uważamy za najlepsze do realizacji zadań :)

lipca 16, 2008 07:33
 

bszafko said:

apropos monorail - jeden z autorów monrail zaczyna pracować dla ms

http://hammett.castleproject.org/?p=312

lipca 16, 2008 11:17
 

dario-g said:

A ja używam MS MVC od Preview2 w środowisku produkcyjnym i nawet przejście na Preview3 było gładkie :)

lipca 16, 2008 17:37
 

bszafko said:

no ja tak samo, z tym że czekam na rtm żeby zrobić migracje

lipca 16, 2008 21:12
 

Tarciu said:

Nie brakuje Wam tam niczego?

Jak np. zrobić w zgodzie z modelem MVC taką dosyć standardową funkcjonalność, polegającą na umieszczeniu w rogu każdej strony panelu do logowania, a jeśli użytkownik jest zalogowany - informacji o nim, avatara itp

(tak, jak jest to np. na codeguru).

Ja takiego sposobu nie znam. Być może taki sposób jest, tylko ja na niego nie trafiłem.

Jest oczywiście ViewExtensions.RenderComponent() (wykorzystujące klasę ComponentController), ale to tylko prototyp z bardzo dużymi ograniczeniami i bez żadnej gwarancji że w następnym Preview będzie w ogóle występować.

lipca 17, 2008 10:13
 

bszafko said:

A może coś takiego spróbować umiescić w MasterPage ?

lipca 17, 2008 11:41
 

Tarciu said:

Jak najbardziej, MasterPage to najlepsze miejsce, tylko w jaki sposób? Jaki komponent tam umieścić i gdzie umieścić logikę?

Można oczywiście zrobić po staremu, czyli w kontrolce .ascx, tylko wtedy nie mamy już aplikacji wg wzorca MVC (co najwyżej częściowo wg tego wzorca).

Drugim rozwiązaniem jest użycie metody o której wspomniałem, ale, jak już napisałem - obecnie to tylko niedopracowany prototyp (jak ktoś ciekawy mogę napisać dlaczego).

Innego sposobu nie znam.

Reasumując: wg mojego stanu wiedzy MS MVC nie posiada obecnie gotowego mechanizmu do tworzenia, że się tak wyrażę, pod-kontrolerów.

Dopóki nie posiada takiego mechanizmu - trudno mi sobie wyobrazić jego sensowne zastosowanie w bardziej złożonej aplikacji. Oczywiście da się, np. stosując w takich sytuacjach klasyczne kontrolki, tylko po co nam wtedy MVC? Brak zintegrowanej obsługi AJAX-a czy modelu walidacji to przy tym pikuś.

lipca 17, 2008 12:20
 

bszafko said:

Widzę z tego, że pewnie będziesz musiał poczekać do RTM, może rozwiążą problemy o których piszesz...

lipca 17, 2008 13:42
 

Luke said:

Ja tworzyłem wcześniej w Django i to było coś.. Potem przysiadłem się do MS MVC i też całkiem mi się podoba, w szczególności w stosunku do czystego ASP.NET. Ja w środowisku produkcyjnym używam - na swoim blogu :) I jakoś to działa, a mam nadzieję, że będzie tylko dużo lepiej.

lipca 18, 2008 23:48
 

dario-g said:

Tarciu: Co do panelu do logowania (czy innej rzeczy potrzebnej na każdej stronie) to ja robię bazowy kontroler i bazową klasę modelu, która dla każdej strony wypełnia się odpowiednimi danymi, które muszą się pojawić, a w MasterPage je wyświetlam :)

Dla ułatwienia dane te podstawiam w przeciążonej metodzie View. :)

sierpnia 18, 2008 11:46
 

Tarciu said:

Dzięki, Dario, jest to jakiś sposób.

Nieco partyzancki, ale jest :)

sierpnia 18, 2008 19:11
Komentarze anonimowe wyłączone
W oparciu o Community Server (Personal Edition), Telligent Systems