dotnetomaniak.pl

dotnetomaniak.pl - Artykuły z tagiem C#

W dzisiejszym temacie przedstawię przykładowy kod C# umożliwiający załadowanie i uruchomienie paczki Integration Services. Na początku w projekcie konieczne jest dodanie referencji do Microsoft.SQLServer.ManagedDTS.dll. Wszystkie użyte klasy znajdują się w przestrzeni Microsoft.SqlServer.Dts.Runtime.

Dziel się z innymi:
Załadowanie i uruchomienie paczki SSIS z poziomu aplikacji .NET « Developer notes

Inne 1863 dni, 1 godzinę, 19 minut temu psz750 145 rozwiń

Na blogu Pawła Potasińskiego istnieje wpis o sposobach konwersji polskich liter zakodowanych w standardzie Mazovia w środowisku SQL Serwera. Jednym z tych sposobów jest zrealizowanie konwersji za pomocą funkcji rozszerzonej, napisanej w .NET. Niestety, nie wykorzystuje ona standardowych mechanizmów konwersji .NET (Encoding), ale zwykłą podmianę znaków (Replace). Dlaczego klasa Encoding nie podołała temu zadaniu i jak mimo wszystko zmusić ją do niego? Odpowiedź w tym wpisie.

Źródło: paskol.robi.to
Dziel się z innymi:
Me z .NET tete-a-tete » Drogie Panie i Panowie, oto sposób na Mazowię.

Bazy danych i XML 1863 dni, 9 godzin, 40 minut temu PaSkol 118 rozwiń

W C# istnieje dość mało popularny atrybut ThreadStaticAttribute. Do czego on służy? Zacznijmy od przykładu:internalclass Program { [ThreadStatic] privatestaticint _value; privatestaticvoid Main(string[] args) { Thread thread1 =new Thread(PrintValue); Thread thread2 =new Thread(PrintValue); thread1.Start(4); thread1.Join(); thread2.Start(); } staticprivatevoid PrintValue(object args) { if(args!=null) _value = (int) ar...

Dziel się z innymi:
Piotr Zieliński » Atrybut ThreadStaticAttribute

Sztuka programowania 1864 dni, 14 godzin, 8 minut temu pzielinski 92 rozwiń

W ostatnich postach pisałem o słabych referencjach oraz podałem przykładowe implementacje obsługi zdarzeń. Niestety mimo generycznego rozwiązania, jednej wady nie udało się usunąć a mianowicie tzw. sacrifice object. Przed rozpoczęciem czytania tego wpisu zachęcam  najpierw do zapoznania się z poprzednimi. WeakEventManager to klasa WPF. Jak wspomniałem, często nie wiemy kiedy listener jest usuwany z pamięci w różnego rodzaju kontrolkach. Z tego względu to właśnie WPF dostarcza odpowiednią klasę. W wersji...

Tagi: C#, WPF
Dziel się z innymi:
Piotr Zieliński » WeakEventManager  w WPF 4.5

Windows 1867 dni, 13 godzin, 15 minut temu pzielinski 86 rozwiń

W WPF dostępne są klasy ItemsPanelTemplate i DataTemplate, dzięki którym możemy zdefiniować własny układ oraz wygląd elementów prezentowanych przez wybraną kontrolkę. W tym temacie pokażę zastosowanie wspomnianych klas na przykładzie obiektu ListView wyświetlającego elementy kolekcji.

WPF – własny układ oraz wygląd elementów dzięki ItemsPanelTemplate i DataTemplate « Developer notes

Windows 1868 dni, 12 godzin, 46 minut temu psz750 240 rozwiń

W poprzednim poście podałem prostą implementację zdarzeń opartych na słabych referencjach. Zachęcam najpierw do przeczytania poprzedniego wpisu bo bez niego będzie ciężko zrozumieć dzisiejszy post. Dziś implementacja zaproponowana na blogu Paul Stovell’a:publicsealedclass WeakEventHandler

Tagi: C#, weak event
Dziel się z innymi:
Piotr Zieliński » Weak event patterns, część II

Architektura 1870 dni, 10 godzin, 37 minut temu pzielinski 131 rozwiń

W dzisiejszym wpisie zajmę się tematem łączenia kolekcji obiektów przy użyciu mechanizmów dostępnych w LINQ. Pokażę przykłady zastosowań metod Concat, Union, Intersect, Except oraz klauzuli Join (zarówno dla złączeń wewnętrznych jak i zewnętrznych). Dla każdego przykładu złączenia kolekcji przedstawię analogiczny sposób łączenia zbiorów danych w języku SQL.

Dziel się z innymi:
Łączenie kolekcji obiektów przy użyciu LINQ « Developer notes

Inne 1872 dni, 2 godziny, 32 minuty temu psz750 219 rozwiń

Dziś jak obiecałem, praktyczny przykład wykorzystania WeakReference ( o który mowa była kilka postów wcześniej). Zdarzenia są częstym powodem memory leak.  Na przykład:publicclass ReportViewModel { publicvoid Init(EmployeesViewModel employeesVm) { employeesVm.PropertyChanged+=EmployeesPropertyChanged; } privatevoid EmployeesPropertyChanged(object sender,EventArgs e) { // logika } } Następnie gdzieś w kodzie tworzymy ReportViewModel, wykonujemy jakieś operację i u...

Tagi: C#, WeakReference
Dziel się z innymi:
Piotr Zieliński » WeakReference – weak event pattern

Inne 1872 dni, 13 godzin, 31 minut temu pzielinski 111 rozwiń

Chciałbym poświęcić kilka postów na opisanie WeakReference oraz praktycznych przykładów wykorzystania tej klasy. W dzisiejszym wpisie strona teoretyczna i opis klasy. Referencje w środowisku .NET można podzielić na słabe (weak references) oraz silne\mocne (strong references).  Silne referencje są wszystkim doskonale znane np:var sampleClass =new SampleClass(); Innymi słowy jest to standardowy typ powiązania. W momencie gdy wszystkie silne referencje zostaną usunięte wtedy GC może zacząć usuwać taki o...

Tagi: C#, WeakReference
Dziel się z innymi:
Piotr Zieliński » WeakReference – wprowadzenie

Sztuka programowania 1878 dni, 1 godzinę, 4 minuty temu pzielinski 252 rozwiń

Kompilacja to właściwie nic innego jak tłumaczenie z jednego języka na drugi. W przypadku C# (a dokładniej .net-a) to tłumaczenie odbywa się dwa razy. Raz z języka czytelnego dla kompilatorów aminokwasowych (c#) na MSIL czyli na taki w dużym uproszczeniu zarządzalny asembler (zrozumiały przez rzadko którego białkowca) a drugi raz z owego MSIL do takiego już prawdziwego kodu maszynowego, który jest zrozumiały dla krzemiaków. Każdy program w C# może mieć praktycznie nieskończenie wiele wers...

Źródło: www.benedykt.net
Dziel się z innymi:
Jak to jest, że kompilując dwa razy mogę otrzymać różny wynik? | @rek online | Arkadiusz Benedykt

Inne 1880 dni, 7 godzin, 39 minut temu arek 186 rozwiń

W dwóch poprzednich wpisach rozważałem odczyt i zapis danych, które były odzwierciedleniem (obrazem) pamięci w tzw. programach Win32 (czyli pracujących w środowisku 32 bitowych Windows, z bezpośrednim, niezarządzanym dostępem do pamięci). Wypadałoby postawić „kropkę nad i” tj. wspomnieć jeszcze o klasie Buffer oraz opisać związane z nią i klasami Encoding i BitConverter niuanse, które, gdybym umieścił je w poprzednich wpisach, niepotrzebne utrudniły by lekturę ...

Źródło: paskol.robi.to
Dziel się z innymi:
Me z .NET tete-a-tete » Czas kompleksowo ogarnąć reprezentację binarną

Sztuka programowania 1880 dni, 7 godzin, 39 minut temu PaSkol 88 rozwiń

When working with applications that utilize lots of threads and those threads arent particularry long running we can stumble upon a problem that we may lose most of the processing time for thread context switches, so it would be desirable to do all of the processing on a limited number of threads, usualy this can be done using a queue of delegates that each thread will process, but sometimes we cannot have that and still w...

Dziel się z innymi:
[EN] Fibers (series, part 1) | Passion of Programming in .NET

Inne 1881 dni, 14 godzin, 23 minuty temu http://badamczewski.blogspo... 157 rozwiń

Ostatnio było dużo o wielowątkowości więc może zmieńmy temat i zajmijmy się przez dwa posty tematyką WPF. Celem dzisiejszego wpisu jest wyjaśnienie klasy VisualCollection, która będzie niezbędna aby omówić tzw. Adorner. W większości przypadków, XAML w zupełności wystarcza jeśli chodzi o tworzenie interfejsu użytkownika. W WPF istnieje jednak drugie podejście pozwalające rysować elementy i kontrolki. Można manualnie stworzyć kolekcje VisualCollection oraz dodać do niej wszelkie obiekty. Na przykład:public...

Dziel się z innymi:
Piotr Zieliński » Klasa VisualCollection

Windows 1882 dni, 3 godziny, 25 minut temu pzielinski 131 rozwiń

W dzisiejszym wpisie pokażę w jaki sposób dla danego obiektu WPF wygenerować kod XAML oraz jak taki kod wczytać dynamicznie podczas działania programu. W tym celu użyję klas XamlWriter i XamlReader.

Dziel się z innymi:
WPF – dynamiczne tworzenie i wczytywanie kodu XAML « Developer notes

Windows 1883 dni, 15 godzin, 2 minuty temu psz750 303 rozwiń

W dzisiejszym poście kolejna thread-safe kolekcja – słownik danych. Jeśli musimy modyfikować słownik z kilku wątków naraz wtedy ConcurrentDictionary stanowi doskonały wybór. W przypadku gdy chcemy raz uzupełnić słownik a potem tylko czytać z niego dane, wtedy oczywiście nie ma potrzeby wykorzystywania ConcurrentDictionary. Zacznijmy od spisu najważniejszych metod:TryAdd – dodawanie nowego elementu. TryUpdate – aktualizacja wpisu. TryRemove – usuwanie klucza i wartości. AddOrUpdate – ciekawy twór. Za jedn...

Dziel się z innymi:
Piotr Zieliński  » ConcurrentDictionary

Inne 1885 dni, 3 godziny, 1 minutę temu pzielinski 103 rozwiń

Dziś kolejny post o kolekcjach, które mogą być używanie swobodnie w środowisku współbieżnym. Tak jak ConcurrentBag, obiekty przedstawione w tym poście również są mocno zoptymalizowane. ConcurrentQueue to po prostu kolejka.

Dziel się z innymi:
Wielowątkowe ConcurrentQueue oraz ConcurrentStack

Programowanie rozproszone 1888 dni, 14 godzin, 57 minut temu pzielinski 117 rozwiń

Kontynuując temat z poprzedniego wpisu, obecnie przedstawię, w jaki sposób wypełnić plik, aby odpowiadał obrazowi pamięci oczekiwanemu przez aplikacje nie napisane w .NET (napisane w kodzie niezarządzanym). W tym wypadku swoją rolę ponownie odegrają klasy BitConvert oraz Encoding. W obu wypadkach użyte zostaną metody o takiej samej nazwie: GetBytes...

Źródło: paskol.robi.to
Dziel się z innymi:
Me z .NET tete-a-tete » Jak plik obrazem pamięci wypełnić i nic nie pokręcić

Sztuka programowania 1890 dni, 7 godzin, 24 minuty temu PaSkol 84 rozwiń

Dziś po długim wprowadzeniu teoretycznym, mającym na celu wyjaśnienie “zaawansowanych” mechanizmów synchronizacji czas przyszedł na pokazanie pierwszej struktury danych. Przed pojawieniem się asynchronicznych kolekcji, najczęściej korzystało się z prostego lock’a jak:lock(_Sync) { _list.Add(newElement); } Rozwiązanie mało wygodne i przede wszystkim niewydajne. Nowe kolekcje zawierają mechanizmy synchronizacji omówione w poprzednich postach takie jak:SpinLock SpinWait SemaphoreSlim CountdownEvent ...

Dziel się z innymi:
Piotr Zieliński » Wprowadzenie do współbieżnych kolekcji danych na przykładzie ConcurrentBag

Sztuka programowania 1891 dni, 15 godzin, 30 minut temu pzielinski 150 rozwiń

Jak wiadomo wszystkie dane platformy .NET są przechowywane w postaci obiektów [...], więc siłą rzeczy sposób przechowywania tychże danych jest ukryty przed programistą (obiekty są wszak hermetyczne). Jest to całkowicie odmienne podejście do przechowywania danych w stosunku do stosowanego przed erą .NET. Tam typy proste były zwyczajnie obszarem pamięci, który był odpowiednio interpretowany przez oprogramowanie (dbał o to kompilator)...

Źródło: paskol.robi.to
Dziel się z innymi:
Me z .NET tete-a-tete » Jak plik z obrazem pamięci odczytać i nic nie pokręcić

Sztuka programowania 1894 dni, 7 godzin, 55 minut temu PaSkol 132 rozwiń

W dzisiejszym wpisie zajmę się tematem śledzenia zmian i kontroli danych w obiekcie DataTable. Jest to możliwe dzięki temu, że wiersze tabeli będące obiektami typu DataRow przechowują informacje o swoich wersjach. Obiekty DataRow posiadają także szereg metod związanych z modyfikacją danych, a co za tym idzie ze zmianą ich wersji.

Dziel się z innymi:
Śledzenie i kontrola zmian danych w obiekcie DataTable « Developer notes

Inne 1897 dni, 9 godzin, 7 minut temu psz750 238 rozwiń

1 2... 36 37 38 39 40 41... 60 61
Szkolenia SecurITum

wrzesień

08.
BBQ4IT
Bielsko-Biała
14.
devConf
Kraków
20.
Dodaj nowe Zobacz wszystkie

Najaktywniejsi

1

macko (32 816,53)

2

http://pawlos.blo... (31 802,5)

3

pzielinski (27 178,29)

4

gordon_shumway (21 178,87)

5

paduda (20 336,33)

6

psz750 (13 018,14)

7

rroszczyk (10 386,37)

8

Damian (9 141,11)

9

danielplawgo (7 235,99)

10

arek (6 807,95)

11

burczu (6 214,22)

12

PaSkol (5 393,84)

13

lukaszgasior (4 097,38)

14

jj09 (3 643,06)

15

jedmac (3 318,39)

16

spetz (3 253,3)

17

http://jakub-flor... (3 224,66)

18

CaMeL (2 954,87)

19

lkurzyniec (2 672,97)

20

dpawlukiewicz (2 645)