ASP .NET MVC jest frameworkiem wspierającym wzorzec projektowy MVC. Należy zdawać sobie sprawę, że przechodząc z klasycznego ASP .NET na ASP .NET MVC tracimy możliwość korzystania ze zbioru kontrolek typu ListView, Repeater itp. Na początku może wydawać się to bardzo ograniczające jednak w praktyce czas wymagany na stworzenie aplikacji webowej jest niewiele dłuższy a za to zyskujemy znacznie większą elastyczność. Ponadto ze względu na brak standardowych kontrolek nie ma bałaganu z ViewState. Uogólniając,...
Architektura 5300 dni, 15 godzin, 22 minuty temu 72 źrodło rozwiń
Ostatnio wykorzystywałem DataSet jako źródło danych typu ObjectDataSource dla kontrolki GridView. W tle za DataSet'em była baza danych oraz były skonfigurowane metody Select, Insert i Delete. Wyświetlanie danych przebiegało bezproblemowo, niestety nie działało usuwanie i edycja elementów. Powodem były kwerendy, które przy usuwaniu (delete) lub edycji (update) wykorzystywały wszystkie pola(kolumny) tabeli. Niestety domyślnie dodane źródło typu ObjectDataSource nie chciało przekazywać wszystkich parametrów...
Już nie pamiętam ile razy zasiadałem do projektowania po czym, podczas programowania porzucałem bądź radykalnie modyfikowałem projekt, ponieważ.. Zapomniałem o czymś bardzo ważnym Znalazłem inne, łatwiejsze rozwiązanie To co robiłem, nie miało sensu Na nowo wynajdywałem koło, a powinienem był znaleźć gotowca w sieci Hej, przecież nawet nie muszę tego robić jako pierwsze! W prawdziwym świecie istnieje ciasna pętla przyczynowo-skutkowa pomiędzy fazą implementacji a projektowania. Jeśli używasz Ph...
Dla kogoś, kto do tej pory tworzył oprogramowanie bazujące na WinForms, a przechodzi na WebForm, ważne jest zrozumienie cyklu życia strony w ASP.NET. Dlaczego? Proces, w którym strona ASP.NET jest dla przeglądarki generowana, składa się z wielu etapów, z których każdy pełni odmienną funkcję w tworzeniu i generowaniu strony. Jeśli umieścimy kod w nieodpowiednim miejscu, wówczas może braknąć kontrolek, które wg nas powinny się pojawić, lub też, jeśli już się pojawiają, to ich stan może być nieokreślony, cz...
Autor: Jakiś czas temu na devpytaniach Maciej Zbrzezny pytał o to, jak zmienić język zgłaszanych wyjątków w .NET. Dziś podczas jednego z podobnych poszukiwań natknąłem się na serwis FindErr. Jeden z komentarzy zadowolonych użytkowników: I have spent numerous hours trying to translate error messages logged by application deployed at my Chinese client. After long hours of frustration, I finally found this site. So far, this ...
Najnowszy numer miesięcznika SDJ jest do pobrania za darmo ze strony: http://sdjournal.org/. Czasopismo będzie się ukazywać tylko w formie elektronicznej, ale za to będzie dostępne za darmo. W mojej ocenie SDJ miał swoje lepsze i słabsze momenty, mam nadzieje, że obecne zmiany wyjdą mu na dobre.
Autor: Zawsze i wszędzie popieram sześćdziesięcioczterobitowe rozwiązania i jestem w pełni świadomy, że nie ma przed nimi ucieczki. O ośmiobitowych aplikacjach nikt już nie pamięta, szesnastobitowe jeszcze się bronią w ostatnich okopach, ale 64 bity pewnie niedługo zaczną królować. Choć sama idea jest wielce słuszna, jak zwykle realia trochę rozczarowują. Dzieje się tak z wielu różnych powodów, a wśród różnych dziwnych potknięć o 64 bity wymienić można....
Otóż jeśli tworzysz dowolnego klienta WCF i posiadasz system Windows 7 jest niemal pewne, że Twój klient nie uruchomi się na innych systemach operacyjnych! Dlaczego? Problem tkwi w elemencie extendedProtectionPolicy, który “potajemnie” dodawany jest do pliku App.config. Więc jeśli Tw...
Załóżmy, że mamy tabelę składającą się z 4 kolumn: FirstName, LastName, CompanyName oraz PersonType. Pole PersonType przyjmuje ‘C’ gdy dany wiersz przedstawia firmę oraz ‘N’ gdy reprezentuje osobę fizyczną. Następnie chcemy wyświetlić w zależności od typu osoby nazwę firmy (C) lub imię+nazwisko(N). Zadanie można zrealizować za pomocą klauzuli case when:select (casewhen PersonType='C'then CompanyName else FirstName+''+LastName end) Name from Persons Powyższy przykład miał tylko pokazać zastosowanie ca...
Bazy danych i XML 5304 dni, 3 godziny, 54 minuty temu 58 źrodło rozwiń
Jakiś czas temu napisałem artykuł o podstawach EF. Jeśli ktoś interesuje się EF to możliwe, że zaciekawi go mój nowy artykuł o wykorzystaniu Entity Framework w aplikacji trójwarstwowej – warstwa prezentacji jest oddzielona usługą sieciową (WCF) od warstwy dostępu dodanych. Miłego czytania: http://msdn.microsoft.com/pl-pl/library/ff714342.aspxExplore posts in the same categories:EntityFramework This entry was posted on Friday, June 4th, 2010 at 10:39 am ...
Bazy danych i XML 5308 dni, 1 godzinę, 26 minut temu 108 źrodło rozwiń
Jak sprawdzić czy uruchomiona jest inna instancja naszej aplikacji? Otóż - jak się okazuje - bardzo prosto, za pomocą Mutex'u.... A co jeśli wynikłaby potrzeba zezwolenia na uruchomienie innej instancji aplikacji, jednakże przy rozróżnieniu ich argumentami startowymi? .....
W MVC wyróżniamy 3 główne typy klas: model, widok oraz kontroler. Model stanowi bramkę dostępową do warstwy biznesowej. Przetrzymuje informacje o aktualnym stanie interfejsu. W pewnych przypadkach model może stanowić bezpośrednio klasę z warstwy biznesowej (np. dla wzorca skrypt transakcji jest to możliwe). Zwykle jednak tworzy się osobne modele (albo wrappery) dla warstwy prezentacji. Widok z kolei to interfejs graficzny w czystej postaci. W przypadku Silverlight, WPF jest to po prostu plik zawierając...
Architektura 5308 dni, 1 godzinę, 26 minut temu 98 źrodło rozwiń
Rejestracja na Microsoft Technology Summit do 30 czerwca 2010 kosztuje tylko 690 zł brutto. Pierwsze 400 osób, które zarejestrują się i opłacą udział w konferencji, otrzyma priorytet w tworzeniu indywidualnych harmonogramów.
Warstwa prezentacji odpowiedzialna jest za komunikację z użytkownikiem. W dzisiejszych czasach interfejsy graficzne są na tyle rozbudowane, że poprawne zaprojektowanie warstwy prezentacji stanowi poważne wyzwanie. W małych projektach często ta warstwa stanowi najbardziej złożoną część całej architektury. Bez wykorzystania stosownych wzorców projektowych po pewnym czasie pisania aplikacji okaże się, że jakakolwiek zmiana interfejsu wiąże się ze skomplikowaną refaktoryzacją kodu. Jedną z podstawowych cec...
Architektura 5308 dni, 4 godziny, 33 minuty temu 105 źrodło rozwiń
O wersji v2 NDependa pisałem we wcześniejszym poście, jednak na sporo więcej uwagi zasługuje najnowsza, trzecia wersja tego narzędzia.Co nowego w NDepend? Największą i dla mnie osobiście najbardziej przydatną nową funkcjonalnością jest pełna integracja z Visual Studio 2008/2010 IDE. Jeszcze nigdy używanie NDependa nie było tak naturalne w procesie tworzenia oprogramowania. Integracja wprowadza zupełnie nowy sposób pracy z kodem, gdyż do tej pory (przynajmniej w moim przypadku), statyczna analiza kodu prz...
W minioną sobotę miałem przyjemność uczestniczyć w krakowskiej edycji Visual Studio Community Launch [...] Przykłady kodu dla obu prezentacji umieściłem na MSDN Code Gallery odpowiednio tutaj i tutaj. Zapewne duża część z Was nie była na konferencji, dlatego postanowiłem owe przykłady omówić tutaj, na blogu. Dziś – EF4.
Bazy danych i XML 5309 dni, 19 godzin, 35 minut temu 310 źrodło rozwiń
Zapraszamy wszystkich chętnych na siódme spotkanie grupy Warsaw Silverlight Study Group (WSSG). Spotkanie rozpocznie się 8 czerwca (wtorek), o godzinie 18:00 w siedzibie firmy Microsoft w Warszawie (al. Jerozolimskie 195A - zobacz na mapie). Agenda spotkania: 18:00 – 19:20 Grzegorz Wiśniewski: „Wstęp do tworzenia własnych kontrolek w WPF i Silverlight”; 19:20 – 19:40 Przerwa; 19:40 – 21:00 Michał Korzunowicz: „MVVM – Gdzie? Co? I jak? Na podstawie prostej gry typu shooter ”;
Silverlight 5310 dni, 15 godzin, 50 minut temu 56 źrodło rozwiń
Oryginalny post: Bridges, Software Engineering, and GodAutor: Jeff Atwood Bazując na tym, ile razy spotkałem się z tym porównaniem podczas mojej kariery, mogłoby się wydawać, iż budowanie mostów oraz tworzenie oprogramowania są ze sobą w jakiś sposób powiązane: [..] mój ojciec, który jest "prawdziwym" inżynierem, przyjechał do mnie z wizytą na parę dni. Rozmawialiśmy dziś wieczorem o istocie prawdziwej inżynierii i staraliśmy się zrozumieć czy tworzenie oprogramowania zbliża się do takiego poziomu d...
Zapytanie z opcją FOR XML generujące obiekt XML i metoda nodes() zastosowana do niego mogą stanowić wzajemnie odwrotne transformacje. Zobaczmy to na przykładzie.
Bazy danych i XML 5311 dni, 15 godzin, 49 minut temu 56 źrodło rozwiń
Zaczynamy standardowo od czystej definicji zasady:Kod z warstw z wyższego poziomu nie powinien zależeć od kodu z niższych warstw. Obie warstwy za to powinny być zależne od abstrakcji.Abstrakcje nie powinny zależeć od szczegółów (konkretnej implementacji). Z kolei szczegóły (implementacja) powinna zależeć od abstrakcji. Najlepiej rozważmy to na przykładzie aplikacji enterprise. Kodem z niższej warstwy może być np. DAL (warstwa dostępu do danych) a z wyższej – warstwa biznesowa. Według zasady, warstwa bi...
Architektura 5311 dni, 19 godzin temu 78 źrodło rozwiń