Jakiś czas temu, we wpisie Tworzenie aplikacji wielojęzycznych z C# i ASP.NET w Visual Studio opisywałem jak stworzyć aplikację, która będzie przystosowana do obsługi wielu języków i wykorzystywać będzie do realizacji tego celu mechanizm zasobów udostępniony w platformie .Net. Wpis ten, nie opisywał jednak zastosowanie tego mechanizmu, dla aplikacji napisanych pod kątem frameworka WPF, który korzysta z języka XAML. Dlatego też dziś, w ramach kolejnego wpisu z cyklu WPF Tutorial, chciałbym nadrobić braki...
Architektura 4808 dni, 7 godzin, 53 minuty temu 266 źrodło rozwiń
Biblioteka SOS, która dostarczana jest wraz z .NET Framework to nie jedyne źródło informacji o aplikacjach .NET analizowanych w WinDbg. Poza nią jest jeszcze Psscor4 (oraz wcześniejsza wersja - Psscor2, obie do ściągnięcia z Microsoft), która jest rozbudowaną wersją sos i jest najczęśniej zamiast niej używana. Kolejna to sosex, autorstwa Steve’a Johnsona, o której tu i ówdzie już wspominałem i właśnie o niej powiemy dziś parę słów. Miesiąc temu pojawiła się najnowsza wersja tej biblioteki, w której pojaw...
Zwykłe (blokowe) bloby w Windows Azure są trudne do wdrożenia dla już istniejących aplikacji. Załóżmy, że napisaliśmy prostą galerie zdjęć w ASP.NET i wykorzystaliśmy do tego celu przestrzeń System.IO, np. do robienia kopii zapasowych czy zarządzania plikami na dysku. Jeśli jednak chcielibyśmy przechowywać zdjęcia w Azure Blobs, musielibyśmy zmodyfikować kod. Azure Drive pozwala na stworzenie wirtual...
Programowanie rozproszone 4809 dni, 7 godzin, 47 minut temu 137 źrodło rozwiń
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 ...
Zanim przejdę do wyjaśnienia kilku usprawnień wprowadzonych w C# 4.0 spróbujmy zdefiniować pojęcia kowariancji oraz kontrawariancji. Te skomplikowane pojęcia odnoszą się po prostu do typów konwersji. Kowariancja to określenie typu konwersji z bardziej specyficznego do bardziej ogólnego(klasy). Kontrawariancja to oczywiście przeciwieństwo (bazowa klasa do pochodnej). Jako przykład kowariancji w c# można pokazać np.:object text ="Hello World!"; Deklaracja text jest kowariancją ponieważ możemy przypisać ...
RightHand DataSet Visualizer to aplikacja (wizualizator) do podglądu danych i struktury obiektów DataSet podczas debugowania kodu w Visual Studio. Narzędzie posiada wiele przydatnych możliwości, które pokrótce opiszę w tym artykule.
W artykule „Przeszukiwanie dysku – zbieranie informacji na bieżąco” użyłem kontrolki ListBox do wyświetlania informacji o znalezionych plikach. Przypomnijmy, że były to: nazwa oraz ścieżka do pliku w postaci DataTemplate. W przypadku, gdy znajdziemy 200, 300 plików (wpisów do listy) wszystko działa jak należy. Co natomiast dzieje się jeżeli znajdziemy ich kilka tysięcy? Wszystkim programistom o słabych nerwach (jeżeli takowi istnieją ) stanowczo odradzam zaglądanie do menedżera zadań.
Silverlight 4814 dni, 6 godzin, 57 minut temu 230 źrodło rozwiń
Kilka miesięcy temu pisałem o attached behaviour jako sposobie na wiązanie zdarzeń do komend. Sposób całkowicie poprawny i wygodny w użyciu. Dzisiaj jednak chciałbym przedstawić nieco prostsze rozwiązanie z wykorzystaniem bibliotek z Expression Blend SDK. Jeśli jeszcze nie posiadacie SDK możecie je ściągnąć ze strony Microsoft’u. Do projektu dołączamy bibliotekę System.Windows.Interactivity (SDK). Następnie w pliku XAML spróbujmy powiązać zdarzenie MouseMove z komendą ShowMsgCmd: Namespace “i” powin...
Dziś stanąłem przed zadaniem skopiowania konkretnej biblioteki DLL z Global Assembly Cache (czyli de facto z folderu C:\Windows\Assembly). Była mi ona potrzebna do uruchomienia pewnej aplikacji na innym komputerze, a niestety ta wersja pliku nie była łatwo dostępna w żaden inny sposób.
Netmajor's Tech Blogwin 7 C# ASP.NET etcHOMEO mnieKontaktThe message with Action ” cannot be processed at the receiver, due to a ContractFilter mismatch at the EndpointDispatcher – problemy z SOAPem Błąd ten męczył mnie już chyba od miesiąca :/ Prawdziwa bolączka. Błąd moze oznaczać iż mamy niezgodność między tym co wysyła klient a tym co mamy zdefiniowane po stronie serwisu. U mnie objawiło się to przy ...
Częstym problemem moim jak i kilku innych w VS jest to, że nie od razu wiadomo jak zwinąć poszczególne fragmenty kodu w Visual Studio. W tej notce chciałbym przedstawić możliwości Visual Studio w tym względzie...
Znam się z NULL'em od lat Oglądając materiały z Introduction to Databases, przypomniały mi się koszmary z dzieciństwa. Zdarzyło mi się wspierać jako programista bądź inżynier support'u kilka systemów używających MS SQL Server'a (każdy z nich był rozwijany przynajmniej 5 lat). Miały one kilka cech wspólnych , jedna z nich sprawiła mi sporo problemów przy rozwijaniu i utrzymywaniu tych systemów. Posiadały one dużo tabel w których definicje kolumn umożliwiały wstawianie wartości NULL. Poniższa definicja ...
Bazy danych i XML 4815 dni, 18 godzin, 45 minut temu 297 źrodło rozwiń
Progresywny podatek dochodowy w Izraelu Zbliżają się wybory, zatem podatki to teraz gorący temat. Tak się złożyło, że Ayende Rahien na swoim blogu opublikował jedno z zadań rekrutacyjnych, które wykorzystywał do weryfikacji umiejętności potencjalnych kandydatów na programistę. Problem polegał na obliczeniu podatku dochodowego od danej kwoty, zakładając, że stawki podatku i progi podatkowe w Izraelu są następujące.
Przejrzałem 152 prezentacje, oglądam filmy. Warte utrwalenia screenshoty z obejrzanych prezentacji (z wyłączeniem slajdów ppt) wrzucam do katalogu BUILD na skydrive. Obecne wrażenia: 1. Nowy dotyk - pointer na wszystko (mysz, touch, …) 2. Inny binding przy listach w JS, zupelnie inny 3. Sharing 4. Search 5. Taski w tle / triggery, rejestracja na różne zdarzenia (np. zalogowanie użytkownika, zmiana stanu sieci itp.) 6. lokalizacja/resourcy (tak samo dla C#, JS, C++), nowy format ...
Wzorzec Model-View-ViewModel jest najczęściej wykorzystywany przez programistów WPF. Związane jest to z mechanizmem wiązań, który znacząca ułatwia wdrożenie MVVM do projektu. ViewModel stanowi wyeksponowany model przeznaczony do bindingu, z kolei widok to zwykły, pasywny plik XAML. Ważną cechą ViewModel jest brak powiązań z interfejsem użytkownika. Najlepiej aby projekt zawierający ViewModel nie posiadał żadnych referencji do bibliotek warstwy prezentacji. Częstym zadawanym pytaniem jest: Jak wywoływać ...
Netmajor's Tech Blogwin 7 C# ASP.NET etcHOMEO mnieKontaktSkrypt sql czyszczący zawartość bazdy danych Witajcie, Czasem zdaża się, że nie chcemy usuwać całej bazy danych, a jednynie usunąc jej zawartość czyli tabele, procedury, widoki i to właśnie robi skrypt znaleziony przeze mnie jakis czas temu Mam nadzieje że się przyda!
Bazy danych i XML 4818 dni, 20 godzin, 20 minut temu 258 źrodło rozwiń
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...
Jak ujarzmić MS SQL Server? Silnik baz danych MS SQL Server to takie niewdzięczne stworzenie w świecie .NET Framework. Relacyjne bazy danych są często w pogardzie u części programistów, postrzegane jako zło konieczne. Niektórzy tworzą NoSQL movement, inni proponują, żeby przenieść bazę danych do pamięci operacyjnej lub chociaż do chumry, usunąć relacje i wcisnąć ten cały data management w obiekty. Oczywiście, na dzisiaj (rok 2011, miesiąc Wrzesień) wielu nieszczęśliwych z tego powodu developerów musi ...
Bazy danych i XML 4822 dni, 21 godzin, 54 minuty temu 238 źrodło rozwiń
Po długiej przerwie związanej z przeprowadzką, czas powrócić do prowadzenia blog’a i pisania artykułów. Mam nadzieję, że od dziś posty będą pojawiać się częściej i bardziej regularnie chociaż nie wszystko jeszcze idzie po mojej myśli. No to zaczynamy… Visual State Manager został wprowadzony w wersji 4.0 Wcześniej mogliśmy go spotkać w Silverlight lub WPF Toolkit. Służy do zmieniania wyglądu kontrolek na podstawie zdefiniowanych stanów. Zastosowanie jest podobne więc do triggerów jednak różnica polega na ...