Po wyjściu finalnej wersji ASP .NET MVC 1.0 zabrałem się ostro do nauki nowej platformy. Już wcześniej oglądałem kilka webcastów z strony www.asp.net oraz śledziłem uważnie blog Scott Guthrie dotyczących MVC i raczej nie spodziewałem się niczego nowego. Właściwie jedyną rzeczą która od razu rzuciła mi się jednak w oczy po wyjściu wersji finalnej był brak plików codebehind dla widoków. Na początku nie potrafiłem zrozumieć dlaczego coś, co używałem od...
Właściwości (properties) to przyjemny mechanizm do zapewniania enkapsulacji, czyli jednej z najważniejszych cech programowania obiektowego. Przyjemniejszy niż zwykłe metody zwane "getters & setters". Zwrócę jednak uwagę na ciekawy fakt (zapewne znany większości czytelników, ale...). Popatrzmy na następujący kod:
Oto praktyczny przykład użycia wyrażeń lambda i metod rozszerzających, który lekko i prymitywnie "ociera się" o programowanie aspektowe i imituje jego podstawowe założenia:
Aby bez problemu programiści wykorzystujący Visual Studio 2008 SP1 mogli łączyć się z Team Foundation Server 2010, opublikowany został dodatek - Visual Studio Team System 2008 Service Pack 1 Forward Compatibility Update for Team Foundation Server 2010.
Ciekaw jestem ilu moich czytelników aktywnie korzysta z funkcji High DPI. Ja tak. Mój monitor natywnie pracuje rozdzielczości Full HD. Jeśli to działa wydajnie (nie narzekam) to jest to bardzo fajna cecha, ale pod warunkiem własnie, że High DPI jest wykorzystane i zaimplementowane poprawnie od systemu operacyjnego do poszczególnych aplikacji. Windows 7 podchodzi do tego tematu bardzo poważnie. Opcjami systemowymi “powiększyłem” sobie system do 125%. Odcz...
Wysłanie wiadomości e-mail w .NET jest dziecinnie proste:MailMessage message = new MailMessage( "[email protected]", "[email protected]", "Temat", "Treść"); SmtpClient smtp = new SmtpClient(); smtp.Send(message); Powyższy przykład jest bardzo krótki, choć i tak został napisany niezwykle rozwlekle - wersja zminimalizowana zajęłaby 1 linijkę (w obu przypadkach ustawienia serwera pocztowego znajdują się w pliku konfiguracyjnym). Właściwie ten kawałek kodu powinien wystarc...
Policy Injection Application Block w skrócie to biblioteka pozwalająca na wstrzyknięcie kodu opakowującego wywołania metod. Dzięki temu za pomocą jednego atrybutu lub odpowiedniego wpisu w pliku konfiguracyjnym, możemy "nakazać", aby np. czas wykonania metody był mierzony i logowany. Oczywiście, różnych takich zastosowań możemy wyobrazić sobie bardzo wiele. Tyleż samo widać korzyści z zastosowania tego podejścia. Programowanie aspektowe (inaczej AOP - aspect or...
Jeżeli chcemy wykonywać testy jednostkowe naszego kodu, ale posiadamy do dyspozycji jedynie wersję Express VS, ciągłe uruchamianie i konfigurowanie NUnit może być nieco uciążliwe. Oto krótka instrukcja ułatwienia sobie życia:
Bardzo szybki sposób na wygenerowanie hasła dla nowego użytkownika: string pw = Guid.NewGuid().ToString("N").Substring(0,7);
Lepiej będzie tu zawrzeć orginalną definicje metadanych ORM tools require a metadata format for the application to specify the mapping between classes and tables, properties and columns, associations and foreign keys, .NET types and SQL types...
Ostatnio pisząc Smart Client'a w WinForms do usług sieciowych (w sumie były 4 WebService'y na serwerze ASP.NET) natrafiłem na pewien problem. Mianowicie Visual Studio przy generowaniu namiastek WebService'ów umieszcza adres usługi w pliku app.config i stamtąd go pobiera. Mi natomiast była potrzebna możliwość zmiany adresu usługi przez użytkownika po uruchomieniu programu...
Abstract: opis sposobu na obliczenie wyrażeń arytmetycznych i logicznych na platformie .NET przy wykorzystaniu klasy XPath. Zastosowanie powyższego mechanizmu jako silnika reguł biznesowych...
ASP.NET Development Server jest wbudowanym z Visual Studio 2005 serwerem WWW, przeznaczonym do celów testowych. Nie pozwala on na zdalne połączenia oraz nie ma innych „bajerów” wbudowanych w IIS, ale do prostych celów testowych nadaje się...
Abstract: Opisanie sposobu wykonania hiperłącza do poczty (mailto) w kontrolce GridView (ASP.NET 2.0) przy wykorzystaniu kolumny HyperLinkField oraz Data Binding. Opis obejścia błędu w działaniu HyperLinkField...
Już od dłuższego czasu odchodzi się od pisania zapytań do baz danych poprzez pisanie zapytań SQL. Ma to wiele przyczyn, wśród nich można wymienić:..
Skoro wiem już coś o LINQ to SQL przyszła pora na Entity Framework Entity Framework miał ukazać się w VS2008 ale został opóźniony i udostępniony dopiero z VS2008 SP1..
Widok - edycja oraz dodawanie Oprócz opisanych wcześniej list musimy jeszcze operować na poszczególnych rekordach. Mamy do dyspozycji Create, Details, Edit z standardowych templatów...
Widok - index czyli lista Widok z samego założenia wzorca projektowego jest zależny od kontrolera, po kolei będą więc przedstawiane przykłady i spostrzeżenia odnośnie obu. Ponieważ wszystkiego jest dość dużo dlatego podział na listy i edycje...
Gdzie ja jestem czyli Routing. W świecie ASP.NET URL odpowiadał namacalnemu plikowi. W świecie MVC w którym posługujemy się pojęciami akcji i routingu URL nie ma nic wspólnego z plikiem, za to oczywiście ma wiele wspólnego z akcjami i kontrolerami...
W Internecie naprawdę jest dużo materiałów opisujących jak korzystać z oprogramowania, co oznaczają określone metryki i jak za pomocą nDepend rozwiązywać konkretne problemy (na przykład podmiany biblioteki zewnętrznej X, którą wykorzystujemy w naszym rozwiązaniu na bibliotekę Y). IMO nie ma sensu opisywać sposobów przeprowadzania analizy w nDepend, dlatego też na końcu zamieszczam listę linków, które każda osoba zainteresowana nDepend powinna przejrzeć/przeczytać. Skoncentruje się na ogólnym opisie narzę...