Autor: Naszło mnie ostatnio, żeby zebrać do kupy kilka artykułów skierowanych do początkujących programistów. Bez zbędnego gadania, oto kupa...
Niestandardowe kodowanie tekstu w Silverlight W przeciwieństwie do “standardowej” platformy .NET, Silverlight (w wersji webowej oraz na Windows Phone) dostarcza tylko dwa wbudowane kodowania: UTF-8 oraz UTF-16. Aby uzyskać inne kodowania należy napisać własną klasę Encoding...
Silverlight 3415 dni, 1 godzinę, 22 minuty temu 106 źrodło rozwiń
Myślę, że każdy programista zetknął się kiedyś z tym, że chciał wywołać pojawiający wcześniej problem w aplikacji. Niestety, nie zawsze jednak pamiętamy, kiedy on wystąpił. Podobnie czasem testerzy chcieliby wysłać opis problemu w najlepszy możliwy do sprawdzenia sposób – od strony użytkownika. Ostatnio dzięki koledze z pracy dowiedziałem się o narzędziu standardowo dołączanym do systemu Windows – Problem Step Recorder. Aby uruchomić aplikację w m...
Serwis User Witajcie! po dłuższej przerwie zapraszamy na dziesiąty odcinek codingtv(); Zgodnie z planem w tym odcinku przygotowujemy serwis do klasy User. Jak zawsze serwis pokrywamy testami oraz przygotowujemy kilka mocków.
Domyślnie WPF wyświetla okno dialogowe nieobsłużonego błędu a następnie po przyciśnięciu przycisku aplikacja zostaje zamknięta. W poście zajmiemy jednak się przeładowaniem tego zachowania poprzez np. zapis błędu do pliku. W WPF możemy wykorzystać zdarzenie DispatcherUnhandledException(plik App.xaml.cs), która wywoływana jest dla nieobsłużonych wyjątków. Jeśli zatem w kodzie znajdzie się wywołanie throw bez klauzuli catch, zdarzenie DispatcherUnhandledException zostanie uruchomione. Przykład, plik app.xam...
Co można zrobić ciekawego wykorzystując tyle linii? Niewiele, ale… Rysowanie przy pomocy ołówka oraz figur: elipsa, prostokąt. Wszystko możliwe w 4 wybranych kolorach. Dodatkowo zaimplementowany mechanizm historii zdarzeń (undo-redo) bez limitu zapamiętanych „ruchów”.
Silverlight 3420 dni, 5 godzin, 37 minut temu 347 źrodło rozwiń
Jakiś czas temu napotkałem na problem podczas próby przypisania własnego kontekstu kontrolce ContextMenu. Zacznijmy może od razu od przykładu XAML: Prosty widok – zwykły Grid z kontekstowym menu. DataContext ustawiam na SimpleVIewModel a następnie binduje właściwość Text. Code-behind wygląda następująco:publicpartialclass MainWindow : Window { public MainWindow() { SimpleViewModel =new WpfApplication1.SimpleViewModel(); DataContext =this; InitializeComponent(); } ...
W poprzedniej notce opisałem technikę pozwalającą na debuggowanie dynamic assemblies przy wykorzystaniu najnowszej wersji biblioteki sosex w ramach WinDbg. Tym razem sprawdzimy skuteczność tej metody w odniesieniu do SQL-CLR. Nieco przydługawy, ale konieczny wstęp CLR pojawił się w SQL Serverze w wersji 2005 i pozostał w nim na dobre. Dzięki jego obecności można pisać triggery, procedury składowane, funkcje, agregaty oraz własne typy danych definiowane przez użytkownika i korzystać z nich w podobny sposó...
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 3421 dni, 1 godzinę, 11 minut temu 258 ź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 3422 dni, 1 godzinę, 5 minut temu 135 ź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 3427 dni, 15 minut temu 227 ź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 3428 dni, 12 godzin, 3 minuty temu 297 źrodło rozwiń