Definiując ścieżki w aplikacji ASP.NET MVC możemy zadać warunki (constraint) określające poprawność reguły dla parametru. Ja na przykład stosuję (między innymi) domyślnie constraint, który przepuszcza ścieżki pisane tylko małymi literami. Dzięki temu ustrzegam się przed zdublowanymi stronami indeksowanymi przez wyszukiwarki (wielkość liter ma znaczenie). Niestety dla jednego parametru można zadać tylko jeden warunek naraz. A co jeśli chcemy dołożyć kolejny? Można sobie pomóc korzystając z jednego, który ...
Strona głównaUżytkownik
macko | użytkownik
W ASP.NET MVC domyślnie wszystkie metody publiczne zdefiniowane w klasie kontrolera są tzw. „action methods„, czyli możemy je wykonać podając odpowiedni adres url. Czasami jednak chcielibyśmy, aby jakaś metoda była trochę bardziej ukryta przed światem. W ASP.NET MVC możemy tego dokonać dekorując daną metodę … … atrybutem [NonAction]. Innym przydatnym atrybutem „zmniejszającym widoczność” me...
Dawno dawno temu było…Reflector i długo długo nic (de facto na początku był jest ildasm ale nie o nim dziś). Na szczęście pewnego lutowego dnia pojawiła się informacja, że już niedługo nie będzie on dostępny za darmo i się zaczęło. Flame’y, groźby i krzyki :). Stało się też sporo dobrego bo o to na rynku pojawiły się alternatywy. Ilspy, dotPeek oraz JustDecompile. Przyjrzyjmy się im z bliska i zobaczmy co mają do zaoferowania. Reflector - umarł król...Reflector to zdecydowanie n...
autor: Tworząc programy na platformę Windows Phone 7 spotykałem się dość często z problemem ikon. Nie jestem grafikiem i zrobienie porządnej ikony do programu zajmowało mi zbyt wiele czasu. Pierwsze próby poszukania jakiś ikon w sieci skończyły się fiaskiem. Oczywiście poszukiwałem rozwiązań darmowych. Jedyne, co udało mi się znaleźć to zestaw ikon udostępniony przez Microsoft. Niestety ilość ikon nie jest zbyt wielka. Dlatego, też poszukiwania trwały dalej. Udało mi się znale...
Kolejne omówienie, kolejnej sesji z konferencji BUILD - tym razem temat to: What's next in .NET Framework 4.5 Chyba każdy programista .NET, nawet taki, który traktuje to tylko jako zawód (są tacy? :)) z zainteresowaniem śledzi wydarzenia w .NET Frameworku. W końcu zmiany w nim będą rzutować na to w jaki sposób będzie kodował w przyszłości (chyba, że jest uwięziony w jakimś legacy code z .NET 2.0). Sesja zaprezentuje nam jakie oręże będzie dostępne już w niedalekiej przyszłości na potrzeby pisania apli...
autor: We wtorek miałem przyjemność wygłosić prelekcję prelekcję na temat Mono.Cecil na Wrocławskiej Grupie .NET. W sesji starałem się zaprezentować czym jest Mono.Cecil oraz jakie daje nam możliwości jeśli chodzi o przeglądanie, modyfikację plików assembly. Mam nadzieję, że za pomocą przykładów: generatora statystyk, automatyczną implementację INotifyPropertyChnaged wraz z użyciem MSBuild task pokazałem jak możemy wykorzystać Mono.Cecil, aby ułatwić naszą pracę. Dodatkowo poprzez zaprezentowanie proste...
Jak pewnie wszyscy wiedzą niedawno skończyła się konferencja BUILD na której przede wszystkim zaprezentowano najnowszego Windows'a 8. Jednak nie tylko. W kilku nadchodzących postach postaram się pokazać filmy warte obejrzenia i przedstawić dlaczego. Dziś na pierwszy ogień.. Future directions for C# and Visual Basic Anders Hejlsberg prezentuje co czeka nas w przyszłości w C# i VB. Nazwisko, którego nie trzeba przedstawiać nikomu - twórca języka. Pierwsza część prezentacji skupia się na zapr...
Przez ostatnie kilka tygodni (miesięcy), społeczność wrzała z powodu pogłosek na temat mizernej przyszłości technologii Silverlight. Przyznam szczerze, że sam się lekko przestraszyłem ponieważ Silverlight okazał się dla mnie tym czymś w czym czuję się naprawdę dobrze, a perspektywa nie trafionej inwestycji w tą technologię była dla mnie co najmniej deprymująca. Z lekkim przerażeniem czekałem na konferencję Microsoft BUILD na której miało okazać się czy firma z Redmond idzie w kierunku HTML5, CSS3 za...
Silverlight 4803 dni, 2 godziny, 14 minut temu 328 źrodło rozwiń
Trzynastego września świat IT oszalał na punkcie Windows 8. W miarę jak Steven Sinofsky ujawniał kolejne informacje na temat najnowszego systemu operacyjnego Microsoftu, Twitter, blogi oraz serwisy branżowe zachwycały się (lub ganiły) kolejne nowości. W ciągu kilku godzin Internet został zalany recenzjami, relacjami, filmami i prezentacjami na temat Windows 8. Mimo iż konferencja jeszcze się nie skończyła i co chwilę dowiadujemy się o czymś nowym, kurz zaczął opadać i można na spokojnie przyjrzeć się co...
Kolejny z serii postów odnośnie sesji pojawiających się na konferencji BUILD. Z sesji dowiadujemy się, co ciekawego przygotował dla nas Microsoft w najnowszej wersji narzędzia. Na początek prezentacja nowego UI - MetroUI, którego będziemy mogli użyć w wersji 11 Visual Studio. Dostępne będą szablony, które w prosty sposób pozwolą utworzyć nam wspomniane wyżej aplikacje. Nie będzie znaczenia, który język wybierzemy. Dostępne będą one zarówno w VB, C#, C++ oraz HTML5/JS. Dodatkowo będzie można tworzyć opro...
Dziś kończy się konferencja Build, nawet nazwa konferencji jest nowa, jak i większość zaprezentowanych na konferencji produktów. Od razu pierwszego dnia zaprezentowano Windows8 Developer Preview a parę godzin później można było go pobrać i zobaczyć na własne oczy.
Dziś dotnetomaniak łączy się z z grupą devMedia tworząc dotnetoMedia group :). Z nazwą żartuję, ale dzięki połączeniu sił mamy nadzieję dostarczać jeszcze więcej dobrej treści i informacji dla programistów, sysadminów i zwykłych użytkowników komputerów. Już od jakiegoś czasu współpracujemy, z grupą devMedia i postanowiliśmy naszą współpracę uczynić oficjalną. Co się zmieni po tym 50-50 joint-venture? dotnetomaniak przejdzie lekki rebranding, który sprawi, że będziemy mieć wszystkie portale, w gr...
Kilka lat temu (będzie już niedługo 5!) napisałem dla WSS tekst 'Admin czy nie admin' o narzędziach Sysinternals, dzięki którym można dosyć sprawnie poradzić sobie ze standardowymi problemami związanymi z ograniczonym dostępem do systemu. Linka nie podaję, ponieważ lada moment wss.pl przenosi się i zapewne stare sznurki pourywają się, więc ‘google is your friend’ :). Już wówczas były to potężne narzędzia diagnostyczne dające bardzo wiele informacji o tym co się aktualnie dzieje w systemie. Od tamtej chwi...
Dziś post informacyjny. Trochę zmienia się na dotnetomaniaku i warto by było o tym napomknąć i wyjaśnić dlaczego tak a nie inaczej. Zatem - do dzieła. Zmienia się przede wszystkim sposób otwierania artykułów. Dotychczas, po zmianie ze stanu pierwotnego, kliknięcie w tytuł powodowało od razu przejście do artykułu docelowego z pominięciem strony wpisu gdzie były dostępne komentarze i informacje o tym kto poleca dany artykuł. Po dzisiejszym wdrożeniu zostało to przywrócone do pierwotnego działania. Wiem,...
autor: W projekcie nad którym aktualnie pracuję pojawia się bardzo dużo asercji w postaci: internal class Foo { public void Bar(int number) { Debug.Assert(number < 0, "number >= 0"); //... } } W przypadku kiedy warunek nie jest spełniony na ekranie wyświetlany jest komunikat. Sprawa jasna. O ile samo wywołanie metody Debug.Assert() nie jest problematyczne. (przecież istnieje coś takiego jak Intellisense!), to problemem staje się wypełnianie argumentu message (“number >= 0”), z...
autor: Ostatnio pisałem o kursie Umbraco, a teraz przyszedł czas na kolejny kurs. Tym razem jest to kurs traktujący o Windows Azure, czyli popularnym ostatnio “cloud computing”. Jeśli chcesz się dowiedzieć co to jest, po co jest i jak z tego skorzystać zapraszam do oglądania kursu. Nowe odcinki będą pojawiały się w każdą środę. Zapraszam do oglądania i nauki, a w międzyczasie do obejrzenia zapowiedzi kursu...
Programowanie rozproszone 4812 dni, 19 godzin, 30 minut temu 138 źrodło rozwiń
autor: Swego czasu w postach Własne zdarzenia IntelliTrace! oraz Własne zdarzenia IntelliTrace 2 opisałem jak zmodyfikować plik CollectionPlan.xml zawierający plan działania IntelliTrace (historycznego debuggera) tak, aby zdefiniować swoje własne zdarzenie IntelliTrace (ważny punkt w historii działania programu kiedy IntelliTrace nagrywa stan aplikacji). Ostatnio wróciłem do tego zagadnienia i "bawię się" testując różne możliwości IntelliTrace. Niestety czasami, po zmodyfikowaniu pliku Collect...
Do różnych zastosowań, czy to własnych poznawczych, czy też związanych z klientem, czy to z nudów (własciwe skreslić) może nam być przydatny jakiś serwer bazy danych. W kilku najbliższych postach postaram się obrazkowo przedstawić proces instalacji darmowych wersji silnika bazy danych firmy Microsoft począwszy od SQL Server 2005, poprzez 2008, 2008 R2, a na Denali skończywszy. WPROWADZENIE Nie będę później powtarzał opisu środowiska na którym cały zestaw (bo założeniem jest postawienie wszystkiego na je...
Bazy danych i XML 4822 dni, 10 godzin, 14 minut temu 58 źrodło rozwiń
Mamy już zainstalowany nasz SQL Server 2005 with Advanced Services I bardzo nas to cieszy. ale jak pamiętamy pojawił nam się tam problem z kompatybilnością: Musimy więc chcąc lub nie, dążyć do posiadania chociażby Service Pack 3 (a najlepiej SP4, który jest przecież dostępny). Spróbujmy więc doinstalować owe wymagane zestawy poprawek. Możemy zainstalować od razu Service Pack 4 (z założenia każdy kolejny SP zawiera wcześniejsze, tak samo jak Cumulative Updates – CU), ale wybierając jeden z wariantów opis...
Bazy danych i XML 4822 dni, 10 godzin, 14 minut temu 30 źrodło rozwiń
ServicedComponent to klasa umożliwiająca tworzenie zarządzanych komponentów/klas, które mogą być użyte w aplikacjach COM+ oraz mogą korzystać z usług COM+. Jedną z takich usług jest na przykład pula obiektów, czyli coś podobnego do puli połączeń z tą różnicą, że możemy w niej umieścić instancje naszej własnej klasy. Aby stworzyć taką specjalną klasę należy wydziedziczyć ją ze wspomnianej klasy ServicedComponent. Do tej pory nie miałem okazji z niej korzystać, dlatego napotkałem ...