Mechanizmy wspierające tworzenie aplikacji wielowątkowych są obecne w .NET od zarania dziejów. Istnieją klasy opakowujące funkcje i obiekty systemowe, są także mechanizmy dostępne tylko w .NET i udostępnione w postaci wygodnych konstrukcji językowych. Jedną z takich konstrukcji obecnych w C# jest słowo kluczowe lock, które usprawnia synchronizację między wątkami praktycznie bez wpływu na wydajność. Lock przeszedł drobny lifting w wersji 4.0, jednak szczegóły omówimy na końcu. Metoda 1: Kod haszowy & ...
Strona głównaUżytkownik
ada_man | użytkownik
WPF: Bindowanie Enum'a do ComboBox'akwi 112011 Podczas moich ostatnich zmagań z WPFem trafiłem na ciekawy problem. Chodzi o bindowanie typu Enum do kontrolki ComboBox. Czyli w combo ma pojawiać się lista dostępnych wartości enum'a, a po wybraniu jednej z nich ma uaktualnić się podpięta do comboboxa właściowość ViewModelu. Dodatkowo sprawa komplikuje się gdy nazwy poszczególnych wartości enum'a są niezbyt czytelne dla śmiertelnego użytkownika programu (np. zamiast ładnej opisowej nazwy "To jest pierwsza s...
W 64-bitowych systemach Windows mogą działać aplikacje skomplikowane na platformę 64-bitową, jak też w trybie symulacji 32-bitowe (skompilowane na platformę x86, ale ... aplikacja 64-bitowa może korzystać tylko z 64-bitowych komponentów (np. bibliotek), a aplikacja 32-bitowa może korzystać tylko z 32-bitowych komponentów. Do tego na platformie .NET dochodzi jeszcze kompilacja typu „Any CPU”, co w konsekwencji może spowodować nie małe zamieszanie.... Przyjrzyjmy się może tym zagadnieniom. W niniejszych ro...
W poprzednim wpisie pojawiły się informacje na temat sposobów skompilowania assembly, tak by działała jako kod 64 lub 32 –bitowy. W tym wpisie znajdą się informacje na temat tego jak można sprawdzić, na jaką platformę zostało skompilowane assembly (czyli znajdą się tu m.in. informacje na temat narzędzia CorFlags, IL Disassembler'a).CorFlagsNarzędzie CorFlags.exe(NET CorFlags Conversion Tool) pozwala na sprawdzenie lub konfiguracje wykonywalnego assembly, tak by było one traktowane jako 64 lub 32 – bito...
Gdy podczas debuggowania aplikacji chcemy ją zatrzymać w pewnym miejscu, zwykle ustawiamy „breakpoint”, aby jednak ten sposób zadziałał, musi być podłączony do procesu, który chcemy debuggować Debugger. Co można jednak zrobić, gdy tak nie jest (nie zawsze uda nam się ręcznie podłączyć (attach))? Gdy debugger nie jest podłączony do procesu, to można takie podłączenie wymusić dzięki wykorzystaniu klas z przestrzeni nazw System.Diagnostic: Debugger.Launch i Debugger.Break (http://msdn.microsoft.com/en-u...
W tym post’cie chciałbym przedstawić w jaki sposób przetwarzać pliki płaskie za pomocą platformy BizTalk. Załóżmy ze posiadamy następujący plik wejściowy (People.csv):Jan Kowalski 25 Jan Nowak 30 Tomasz Pychynski 27 Plik zawiera rekordy z danymi oddzielone enterami, natomiast jeden pełny rekord zawiera imię, nazwisko oraz wiek oddzielone spacjami. Aby przetworzyć taki plik w BizTalk’u, należy wykorzystać Flat File Schema Wizard, gdzie:W...
Z czasem można dostać zawrotu głowy od banalnych rzeczy. Szczególnie, gdy są one zależne miedzy sobą, mnożą się w nieskończoność i są ustawniane w wielu i, nierzadko, w niespodziewanych miejscach. Spotkać można się z taką sytuacją w przypadku sterowania dostępnością kontrolek. Mam na myśli ustawianie właściwości elementów interfejsu użytkownika, które określają, czy kontrolka jest włączona i/lub widoczna. Przykładowo chcemy umieścić przycisk, który pojawia się i znika w zależności od paru parametrów...
« Hello World w BizTalk Server 2010DebugView w rękach programisty BizTalk DebugView jest małą aplikacją, za pomocą której możemy monitorować debug output lokalnego komputera, bądź komputera zdalnego. Jest to narzędzie bardzo pomocne przy debug’owaniu aplikacji BizTalk, ponieważ nie jesteśmy wstanie postawić w orkiestracji breakpoint’a. Natomiast DebugView ułatwia monitorowanie, punktów które sobie zdefiniujemy. Aby zademonstrować działanie DebugView użyjemy aplikacji z posta Hello World w BizTalk Server ...
Hello World w BizTalk Server 2010 BizTalk Server jest dość niszową platformą dlatego też postanowiłem napisać posta, który przedstawi krok po kroku jak zrobić słynne „Hello World” na tej platformie. Przykład ten nieco różni się od standardowego Hello Wolrd, ale mam nadzieje, że będzie zrozumiały i przedstawi podstawy tworzenia projektów BizTalk. W tym celu należy utworzyć nowy projekt Empty BizTalk Server Project w Visual Studio. Następnie klikamy prawym na nowo utworzonym projekcie i wybieramy Propert...
IIS Express jest nowym, developerskim serwerem www mającym zastąpić aktualnie „wbudowanego” w Visual Studio Cassiniego. IIS Express, w porównaniu to Cassiniego, jest o wiele bardziej wydajny oraz oferuje więcej możliwości konfiguracji (np. uruchomienie aplikacji na https). Aktualnie nowy serwer instaluje się razem z WebMatrixem (od wersji beta 3 instaluje się już jako osobna aplikacja). Finalna wersja serwera IIS Express będzie w pełni n...
State Pattern - zgodnie z definicją: pozwala na zmianę zachowania obiektu przez zmianę jego stanu wewnętrznego. Spójrzmy na diagram: Context - klasa, która może posiadać różne stanyState - definiuje wspólny interfejs dla wszystkich stanów, dzięki temu są wymienne.ConcreteState - definiuje konkretną definicję stanu. Działanie wzorca jest bardzo proste. Wywołując metodę Handle(), wykorzystywana jest odpowiednia implementacja stanu. Patrząc na powyższy diagram, można odnieść wrażenie, że definicja wzorca j...
W trakcie rozwijania algorytmów na potrzeby pracy magisterskiej pojawiło się zapotrzebowanie na zdecydowane przyspieszenie jednego z nich. Algorytm polegał na liczeniu pewnych własności dla każdego punktu regularnej siatki. Zrównoleglenie było naturalnym rozwiązaniem, ponieważ elementy nie zależały od siebie nawzajem. Zdecydowałem się na użycie Parallel Extensions (Wiki, MSDN) ze względu na prostotę. Przedstawię szkielet rozwiązania, które może zostać zastosowane pr...
Od 25 listopada w ramach portalu VirtualStudy.pl rozpoczyna się kurs, który będzie trwał aż 6 miesięcy. Na każdy tydzień miesiąca przypada jedna sesja, która rozpoczynać się będzie o godzinie 20:30. Tematyką kursu będzie programowanie w języku C#. Prelegenci Daniel Dudek, Mirosław Pragłowski, Paweł Łukasik, Tomasz Wiśniewski oraz Wojciech Poniatowski przygotowali aż 24 sesje rozpoczynające się od wprowadzenia do kursu, podstaw programowania aż po wzorce projektowe oraz usługi sieciowe.
Zasiedziało mi się dziś jak zawsze przed kompem i przeglądając wiadomości ze świata natrafiłem na oto ten artykuł . Opisuje on jak dwóch byłych studentów Uniwersytetu Warszawskiego – Tomasz Błaszczyk i Tomasz Waleń opracowali aplikację mającą z automatu odrzucać kiepskich programistów. Jeśli interesuje Was powstanie tego pomysłu zapraszam do lektury artykułu. Ja za to opiszę sam test.
Ruszył mój pierwszy mały projekt - wyszukiwarka szukajo.net (czyt. szukaj o dot net). To pierwsza wyszukiwarka w Polsce indeksująca tylko i wyłącznie polskojęzyczne zasoby o technologii .NET, w dużej mierze blogi.
WPF 3D, to zestaw funkcjonalności WPF-a,pozwalający na tworzenie i wyświetlanie grafiki trójwymiarowej (3D). Jednym z głównych celów stawianych WPF 3D jest wsparcie grafiki 3D w dziedzinie interaktywnych interfejsów użytkownika.
Tytuł tego posta może być lekkim zeskoczeniem. Od premiery VS 2010 sporo czasu już minęło. Postanowiłem jednak spisać kilka nowości jakie udostępnia ono pod kątem debugowania. Zadanie jest o tyle trudne, że prawie wszystko co było do powiedzenia w tym temacie zostało już powiedziane przez pracowników MS w postach takich jak ten napisany przez ScottaGu. Postaram się jednak przedstawić temat z nowej perspektywy.Dump
Wchodząc na stronę http://desktopinfo.codeplex.com/WorkItem/AdvancedList.aspx znajdziesz listę rzeczy i/lub błędów które zostały zapisane w ramach pracy nad projektem DesktopInfo. Pozwala to na wygodne administrowanie projektem. Możemy robić listę błędów oraz nowej funkcjonalności. Lista ta dostępna jest także w Visual Studio Wszystko to dzięki Team Explore-owi oraz TFS-owi. Mamy funkcjonalność, która pozwoli nam łatwiej zarządzać projektem w przypadku pracy wieloosobowej. Prawdziwa magia zaczyna ...
Od początku pracy nad DesktopInfo wiadome było, że będzie potrzebny mechanizm do ładowania pluginów, dodatkowych modułów, które rozszerzą możliwości aplikacji bez potrzeby jej rekompilacji. Pierwszy pomysł jaki przechodzi do głowy to refleksja. Jednak jakiś czas temu postała biblioteka MEF, która została włączona do .NET Framework 4.0 Ponieważ aplikacja DesktopInfo wykorzystuje właśnie tą wersję .NET, to dlaczego nie wykorzystać nowej funkcjonalności. Zatem zobaczmy krok po kroku co jest potrzebne aby ...
Architektura 5157 dni, 18 godzin, 56 minut temu 160 źrodło rozwiń
Praca z danymi może kojarzyć się z wykonywaniem operacji na danych, lecz nie tylko. Ważnym elementem jest prezentacja, w której wykonaniu pomocnymi mechanizmami są wiązanie,walidacja i konwersja danych. Z tego artykułu nauczysz się, jak wykorzystywać Data Binding w swoich projektach.Data BindingCzym jest Data Binding? Binding umożliwia zarówno połączenie elementów interfejsu użytkownika z dużymi i często używanymi obiektami biznesowymi, jak i powiązani...