Systemowy podgląd zdarzeń (np. event log)jest repozytorium informacji o systemie operacyjnym, czynnościach aplikacji i błędach. Przykładowo znajdują się tam informacje o starcie systemu, czy jego zamknięciu. Aplikacje informują np. o zmianie ważnych ustawień. Korzystanie z systemowego podglądu zdarzeń jest alternatywą dla tworzenia własnych plików, dodatkowo wspierane jest przez .NET Framework, dzięki czemu nie musimy pisać dużo własnego kodu, aby z niego korzystać. Dziennik systemu WindowsRejestrowanie ...
Strona głównaUżytkownik
Kelut | użytkownik
Zazwyczaj aby stworzyć instalator dodajemy projekt instalacji do projektu. No ale . NET Framework pozwala zaimplementować swój własny niestandardowy instalator. W ćwiczeniu pierwszym pod tym rozdziałem w training kit jest przedstawione stworzenie standardowego instalatora w drugim natomiast niestandardowego. Jako, że certyfikat 70-536 nie obejmuje tematyki tworzenia standardowych instalatorów omówmy sobie ten drugi typ.Tworzenie niestandardowego instalatora Jeżeli potrzebujemy większej kontroli nad proce...
Przechowywanie ustawień aplikacji, czy ustawień połączenia z bazą danych (ang. connection string), to częsty wymóg. Zapisywanie ich “na sztywno” w kodzie aplikacji jest złą praktyką. Na szczęście .NET Framework udostępnia nam zestaw klas, które ułatwiają przechowywanie tych ustawień w specjalnych plikach XML. Mamy dwa główne typy takich plików:Globalny plik Machine.config, który jest wspólny dla wszystkich aplikacji korzystających z .NET Framework, Plik
Dzisiaj króciutki rozdział o usługach windows. Windows Service jest procesem uruchomionym w tle bez interfejsu i we własnej sesji użytkownika. Usługa może być uruchomiona automatycznie, podczas startu komputera, nawet bez zalogowania użytkownika. Sam windows ma kilkadziesiąt usług np. Workstation, World Wide Web Publishing. Usługi windows funkcjonują inaczej niż inne typu projektów.Skompilowany plik wykonywalny usług musi być zainstalowany przed instalacją projektu aby mógł on funkcjonować w sensowny sp...
Jak używać domeny aplikacji do uruchomienia Assemblies z ograniczonymi uprawnieniami Ograniczenie uprawnień domeny aplikacji może znacznie ograniczyć ryzyko, że assemblies, której używamy nie wykona żadnych złośliwych działań. Training kit przytacza taki przykład: Kupujemy assembly od kogoś i używamy jej do komunikacji z bazą danych. Jakiś gość znajduję lukę w kupionej assembly i używa do skonfigurowania “spyware’owej” aplikacji, która uruchamia się automatycznie przy starcie. W momencie gdy uży...
W środę na spotkaniu naszej grupy zaprezentowałem czym jest WPF, do czego może się przydać oraz pokazałem przykłady kodu. Windows Presentation Foundation jest jednym z elementów wprowadzonych w .NET 3.0. Przede wszystkim umożliwia rozdzielenie kodu aplikacji od projektu interfejsu użytkownika. Dzięki narzędziu Microsoft Expression Blend Designer może projektować interfejs aplikacji w sposób dla niego wygodny (graficzne przeciąganie elementów, kolorowanie, ustawianie stanów animacji na timeline, itp). W W...
Application domain jest mechanizmem podobnym do procesu w systemie operacyjnym. Wykorzystywana jest do rozdzielenia uruchomionych aplikacji jedna od drugiej, tak, aby nie wpływały na siebie wzajemnie. Zastosowanie tej techniki pozwala wywoływać zewnętrzne obiekty assemblies zapewniając wydajność i warstwę bezpieczeństwa. W każdej chwili można zamknąć domenę aplikacji i zwolnić zajmowane zasoby. Dodatkowo można ograniczyć przywileje tak uruchomionej aplikacji, minimalizując ryzyko tego, że wykrycie podatn...
Dzisiaj chciałbym opowiedzieć o zarządzaniu wątkami. Zaimplementowanie wielu wątków które działają w tle nie jest rzeczą trudną. Lecz rzeczywista aplikacja musi mięć możliwość pauzowania, przerwania, wznawiania wątku czy też korzystania z wyników po zakończeniu jego przetwarzania. Tutaj możemy natrafić na konflikt zasobów a uniknięcie ich może nieraz okazać się skomplikowaną sztuką. Przejdę lepiej już do konkretów bo w dzisiejszym artykule jest dużo kodu do analizy a i teorii nie mało.Uruchamianie i zatr...
Chciałbym przedstawić wykorzystanie SQLite w połączeniu z ADO.NET przy wykorzystaniu C#. Wymaga to jednak pewnego uzupełnienia.SQLite SQLite jest biblioteką napisaną w języku C, która implementuje silnik relacyjnej bazy danych. Jak głosi główne hasło projektu jest ona “prosta, szybka, niezawodna”. Cała baza znajduje się w pojedynczym pliku, a w przeciwieństwie do innych systemów baz danych, nie występuje tu żaden demon nią zarządzający. Inne cechy warte wymienienia:Mały rozmiar biblioteki (ok. 0.5MB), ...
Bazy danych i XML 5462 dni, 8 godzin, 25 minut temu 199 źrodło rozwiń
Zaczynamy rozdział nr 7 w naszym Training Kicie, który będzie dotyczył wątków. Od tej pory przejdziemy z tematów łatwiejszych do nieco trudniejszych:) Dziś wpis bardzo krótki, wprowadzający tylko do wątków. Po co nam wątki? Dzięki wątkom możemy np. uruchomić jakiś kod w tle, nie blokując w międzyczasie innych czynności naszego programu. Jednak używanie wielowątkowości jest dosyć skomplikowane i w pewnych określonych sytuacjach zamiast zwiększać wydajność, zmniejsza ją. No ale oczywiście więcej mamy plusó...
Często w pracy z grafiką pojawia się potrzeba dodania tekstu. Może to być np. opis, czy nota autorska. Jeżeli chcemy dodać sformatowany tekst do obrazka należy wykonać kilka kroków.Utworzenie obiektu Graphics W tym celu w aplikacji Windows Forms wywołujemy metodę this.CreateGraphics(). Możemy też utworzyć wspomniany obiekt z bitmapy za pomocą metody Graphics.FromImage(bitmap). 1: Graphics g = this.CreateGraphics(); Utworzyć obiekt Font.Klasa Font oferuje 13 różnych konstruktorów wywołania. Najprostszą ...
Dzisiaj wyjątkowo krótki wpis. Powiemy sobie o tym jak wyświetlić, stworzyć i zapisać rysunek. Żeby nie przedłużać wstępu od razu lecimy z tematem.The Image and Bitmap Classes System.Drawing.Image jest klasą abstrakcyjną która umożliwia nam tworzenie, ładowanie, modyfikacje oraz zapis obrazka do formatu .bmp, .jpg oraz .tif. Klasy tej można użyć do stworzenia rysunku, wykresu, zmiany rozmiaru obrazka czy też dodania np. znaku wodnego itd. Klasa Image jest abstrakcyjna dlatego do stworzenia jej instancji ...
Problem wydaje się banalny i głupi. Jeżeli istnieje jego proste rozwiązanie to znaczy że JA jestem głupi. I banalny. Chodzi o wygenerowanie w zwykłej własnej klasie linka do jakiejś strony w naszej witrynie. Nie po stronie aspx, nie w kontrolerze... po prostu GDZIEŚ. Przez długi czas działała taka konstrukcja: HttpContext.Current.Request.ApplicationPath + "/MyPage/". Jednak jak to bywa, okazało się że nie jest ona idealna. Wystarczyło skonfigurować aplikację tak, aby była domyślną WebSite serwowaną prz...
Autor: Zdaje sobie sprawę, że nie jestem profesjonalistą w prowadzeniu prezentacji ale mam nadzieje, że wynieśliście coś z niej:) W każdym bądź razie uwierzcie mi, że nie łatwo stać po tej drugiej stronie. Poniżej macie króciutką prezentację a pod spodem cały projekt który robiłem na prezentacji.
Wraz z dzisiejszym artykułem, w naszym training kicie rozpoczyna się rozdział nr 6, który skupia się na grafice. Na dobry początek dostajemy 3-stronnicową tabelkę opisującą najczęściej używane klasy, które pomagają nam w .NET’owym rysowaniu. Nie będę ich opisywał, ale przynajmniej wymienię. Klasy, które zawarte są w przestrzeni System.Drawing to m.in: Bitmap. Brush, Brushes, ColorConverter, ColorTranslator, Font, FontConverter, FontFamily, Graphics, Icon, IconConverter, Image, ImageAnimator, Imag...
Niestandardowa serializacja pozwala na zwiększenie kontroli nad tym procesem. Dzięki niej możemy także osiągnąć kompatybilność między różnymi wersjami przekształcanych wcześniej obiektów. Mamy dwie metody przeprowadzenia takiej operacji: implementacja interfejsu ISerializable, oraz odpowiadanie na występujące zdarzenia.Implementacja ISerializable Wykorzystując interfejs oraz dodając atrybut Serializable możemy nadpisać domyślny mechanizm frameworka. Wymusza to na nas jednak kilka czynności:Implementacja ...
19lis/090Gios.Word czyli zapisujemy dane do worda Chciałbym pokazać dzisiaj bardzo fajną i darmową bibliotekę, która pozawala zapisywać nasze dane do worda. Przykłady będą bardzo proste, pokazujące tylko że da się stworzyć własny wygląd generowanego dokumentu. Biblioteka nazywa się Gios.Word. Cały projekt, łącznie z kodami źródłowymi biblioteki można pobrać TUTAJ. Na początek pokaże jak prosto zapisać tekst używając biblioteki. Aby kod zadziałał musimy oczywiście dodać referencję do pliku Gios.Word.dll ...
Pojęcie serializacji oraz jej zastosowanie mam nadzieje, że jest Wam znane chociażby z poprzedniego artykułu Daniela. Dzisiaj postaram się przedstawić serializacje za pomocą formatera XML. .NET Framework zawiera kilka bibliotek do odczytu i zapisu plików XML. My zajmiemy się tą z przestrzeni nazw System.Xml.Serialization. Za pomocą serializacji XML możemy zapisać niemal każdy obiekt do pliku tekstowego a następnie odczytać go w kilku linijkach kodu. Serializacji XML można użyć do przesyłania stanów obie...
Witam w kolejnej lekcji z cyklu 70-536. Dzisiaj powiemy sobie troszkę o serializacji.Co to jest serializacja? Serializacja, która mieści się w przestrzeni System.Runtime.Serialization, jest to proces przekształcania obiektu do liniowej sekwencji bajtów, które mogą być przechowywane lub przekazywane.Odwrotnym procesem do serializacji jest deserializacja.Jak serializować obiekt Poniższy kod prezentuje jak serializować obiekty. Aby kod zadziałał musimy dołączyć przestrzenie nazw System.IO oraz System.Runtim...
Kolekcje generyczne są bezpieczną (ang. type-safe), szybką i wydajną (ang. performance) wersją ich nie-generycznych odpowiedników. Przykładowo List, Dictionary, Queue, Stack, SortedList i SortedDictionary są odpowiednikami zwykłych kolekcji. Różnica polega na tym, że korzystając z typów generycznych podajemy parameter, który jest zamieniany na nazwę typu podczas kompilacji. W ten sposób można użyć każdego typu, ale tylko wcześniej określonego. W innym wypadku otrzymamy błędy już przy kompilacji. Namiastk...