Jak ważne i poufne informacje znajdują się w pliku konfiguracyjnym aplikacji (app.config lub web.config), każdy chyba wie. O szyfrowaniu tychże informacji z poziomu konsoli wspominałem tutaj. W tym artykule zaprezentować chciałbym jak szyfrować/deszyfrować sekcje z poziomu kodu. Zapraszam.
Strona głównaUżytkownik
macko | użytkownik
Podczas projektowania interfejsu w aplikacji WPF/Silverlight, zdarzają się sytuacje, w których jesteśmy zmuszeni do poszukiwania rozwiązań, które umożliwią wyświetlenie kontrolek bez burzenia przyjętych wcześniej konwencji. Czasami jest trudno, lecz dzięki elastyczności jaką oferuje technologia WPF/Silverlight możemy zmieniać interfejs w bardzo szerokim zakresie bez konieczności implementowania własnych kontrolek. Istnieje kilka kontrolek, które mogłyby zostać wykorzystane w danym przykładzie (np. C...
autor: Ostatnio firmie dostałem zadanie przygotowania teamu do projektu, który właśnie rozpoczęliśmy. Długo się zastanawiałem jak to zrobić by zarówno osoby zapoznały się z środowiskiem pracy jak i z narzędziami. Jako, że osoby biorące udział w projekcie są bardziej Junior Dev niż Dev a tym bardziej senior wpadłem na pomysł by w ciągu dwóch tygodni napisali mini projekt. Tak naprawdę prosty sam w sobie, i kiedy się wykorzystuje wbudowane narzędzia w VS w ciągu jednego dnia, maks dwóch można go napisać. ...
W .NET nie tylko klasy mogą być określane, jako partial, ale również metody. Wygląda to tak:partialclass Account { privatedecimal _balance; publicstring Balance { get { return _balance; } set { OnBalanceChanging(value); _balance = value; OnBalanceChanged(); } } partialvoid OnBalanceChanging(decimal balance); partialvoid OnBalanceChanged(); } I klasa ...
Autor: Jak przez mgłę widzę czyjąś twarz. Rusza ustami, chce mi coś przekazać. Początkowo dociera do mnie tylko głuchy bulgot, jakbyśmy byli pod wodą. Powoli jednak skrawki wypowiadanych słów w jakiś sposób trafiają do moich uszu. Im więcej rozumiem, tym głębszy mają sens. Chcę słuchać, jeszcze i jeszcze. Przeżywam moment olśnienia. Skąd on wie co mówić? Skąd zna odpowiedzi na wszystkie dręczące mnie pytania? Kto to jest? Zresztą, nieważne. Niech mówi, niech mówi... Niech nie przestaje... Wzrok zdaje mi...
Okazuje się, że bardzo prosto, ale zacznijmy od początku. Niedawno zakończyłem pracę nad serwerem zajmującym się wykonywaniem tzw. zadań wsadowych. Definicje zadań do wykonania pobierane są z bazy danych, a w danym momencie może działać wiele serwerów. Każdy serwer rezerwuje sobie swoje zadania na pewien kwant czasu. Po upływie tego czasu inne serwery mają prawo przejąć to zadanie. Może się tak zdarzyć na przykład jeśli jakiś serwer ulegnie awarii. Jeśli wykonanie danego zadania zajmuje w...
Programowanie rozproszone 5006 dni, 7 godzin, 11 minut temu 131 źrodło rozwiń
autor: Ostatnio, podczas pracy z Unity 2.0 postanowiłem zaszaleć. Zamiast pisać klasę Bootstrapper’a i mapować implementacje na interfejsy w kodzie programu, zapragnąłem skonfigurować Unity przy pomocy pliku App.config. Dla niezorientowanych. Unity to kontener IoC od Microsoftu dostarczany razem z Enterprise Library. Proces konfiguracji Unity jest w miarę prosty. Ogranicza się do zdefiniowania aliasów, czyli skróconych nazw interfej...
Bazy danych i XML 5008 dni, 7 godzin, 53 minuty temu 112 źrodło rozwiń
Wpadłem w pułapkę relacji wiele do wielu, m:n. Po raz kolejny. Jak fretka w sidła... te same po raz n-ty (czy m-ty?). Byłem na siebie tak wściekły, że to ludzkie pojęcie przechodzi. Właściwie bardziej mi teraz szkoda nerwów niż straconego czasu. Ale o co się, panie, rozchodzi? W moim systemie miałem bardzo prostą zależność: Company (n) - (m) Customer. Firma posiada wielu klientów, a klient przypisany jest do wielu firm. Bez dodatkowych ceregieli utworzyłem:
Architektura 5009 dni, 18 godzin temu 321 źrodło rozwiń
Używając analizy kodu w projektach .NET 4.0 można natknąć się na taki oto komunikat: CA1026: Microsoft Design: Replace method xyz with an overload that supplies all default arguments. W dokumentacji do tego ostrzeżenia czytamy, że choć używanie metod opcjonalnych jest dozwolone w specyfikacji CLS, to dozwolone jest także ich ignorowanie. Przyjrzyjmy się więc temu nieco bliżej. Parametry opcjonalne Na tapetę weźmiemy tę oto prostą metodę: public void OptionalMethod(string name, int value = 42) { ...
SQL Server Management Objects (SMO) zbiór bibliotek, a w nich klas dla platformy .NET, pozwalające na łatwe i proste zarządzanie bazą danych Microsoft SQL Server z poziomu kodu programu .NET (np. w językach takich jak C#, VB i innych). Zostały one wprowadzone po raz pierwszy z bazą danych Microsoft SQL Server 2005 (włącznie z wersją Express). Dostępne są również biblioteki SMO dla bazy danych MS SQL 2008. Dzięki wykorzystaniu SMO, można opracowywać aplikacji o funkcjonalności podobnej do Microsoft SQL ...
Bazy danych i XML 5009 dni, 7 minut temu 48 źrodło rozwiń
W nowym SharePoint 2010 skryptowe zarządzanie zostało przeniesione z STSADM do coraz popularniejszego PowerShella.W tym artykule napiszę postaram się zamieścić podstawowe użyteczne skrypty dla developera SP2010.By zacząć pracę z SharePoint 2010 w consoli PowerShell należy uruchomić wersję x64 konsoli i zainportować polecenia:Add-PSSnapin Microsoft.SharePoint.PowerShellTeraz można już przetestować działanie enumerując kontrolki:Get-SPFarmOczywiście jeżeli nie chcesz wpisywać tego za każdym razem gdy c...
Jeśli, tak jak ja, szaleńczo zdecydowaliście sie na tworzenie gry w Silverlight zamiast w XNA, czeka Was kilka niespodzianek zarówno podczas samego developmentu, jak i publikowania aplikacji. Opowiem krótko o moich przygodach, z nadzieją, że ktoś inny nie wpadnie w te same pułapki, co ja. Większość naszej intrygi rozgrywa sie w pliku WMAppManifest.xml. Bardzo ważny plik – koniecznie go poznajcie! 1. Kategoria aplikacjiW przypadku aplikacji Silverlight domyślnie zobaczycie taki wpis: To powoduje, że W...
Silverlight 5011 dni, 5 godzin, 34 minuty temu 91 źrodło rozwiń
Niedawno świętowaliśmy przekroczenie liczby 2000 artykułów na dotnetomaniaku. Przed nami kolejna okazja do świętowania. To dzisiaj – dokładnie dwa lata temu na nowo powstałej stronie pojawił się pierwszy artykuł dotyczący technologii .NET, będący początkiem naszej wspólnej przygody. Pierwsze kroki dotnetomaniaka były małe i niepewne. Dzisiaj, bogatszy w wiedzę chodzi całkiem pewnie a w jego archiwum pojawia się coraz więcej artykułów, z których my – dotnetomaniacy korzystamy bardzo chętnie. Idea strony b...
Dlaczego lubię kontener DockPanel? Ponieważ dobrze (intuicyjnie) współpracuje z kontrolką ScrollViewer, która dostarcza pionowych i poziomych pasków przewijania. Załóżmy, że główne okno naszej aplikacji zawiera listę (kontrolka ListView) z kilkuset wierszami. Wierszy jest na tyle dużo, że w danym momencie na ekranie widoczna jest tylko część z nich. Aby użytkownik mógł przewijać listę i zobaczyć wszystkie wiersze używamy kontrolki ScrollViewer ScrollViewer zachowa się jednak inaczej w...
Dzięki wykorzystaniu SMO (jeśli nie wiesz co to – przeczytaj wpis pt.:"Jak DataSet’a przenieść do MsSQL'a? (SQLServer Management Objects i SqlBulkCopy)") można w prosty sposób wykonywać wiele operacji na bazie danych Ms SQL. Jedną z takich operacji może być usuwanie elementów bazy danych. W większości przypadków wystarczy na wybranym elemencie z bazy danych wykonać proste Drop, jednak nie zawsze musi się to udać.Taki przypadek może mieć właśnie miejsce z tabelami. Załóżmy, że chcemy usunąć wybraną tabelę...
Bazy danych i XML 5018 dni, 7 godzin, 53 minuty temu 29 źrodło rozwiń
Autor: We wpisie pt.: "Jak DataSet’a przenieść do MsSQL'a? (SQLServer Management Objects i SqlBulkCopy)" przedstawiłem, jak można na podstawie DataSet'a stworzyć odpowiadającą mu bazę danych. Niestety nie wszystko zostało tam opisane i wykonane prawidłowo, o czym pisałem już we wpisie „Klucze obce, a relacje w DataSet'cie”. Kolejnym elementem, który wymaga dodania są ograniczenia (Constrains), a w szczególności ten wymuszający unikalność UniqueConstraint.Otóż tabela w DataSet'cie przechowuje informacje ...
Bazy danych i XML 5019 dni, 18 godzin, 30 minut temu 38 źrodło rozwiń
Windows Azure oferuje trzy podstawowe mechanizmy przechowywania danych. Każdy z nich przeznaczony jest dla innego typu danych i każdy z nich oferuje inne możliwości. Dzisiaj skupimy się na niestandardowym zastosowaniu blobów, czyli pojemników na dane binarne. Jeśli nie wiecie czym są bloby, możecie zapoznać się z ich opisem tutaj. Problem Problem z jakim się dzisiaj zmierzymy znany jest wszystkim, którzy mieli do czynienia z aplikacją przechowującą pliki wgrywane przez użytkowników. Najwięcej kłopotu w t...
Programowanie rozproszone 5019 dni, 18 godzin, 30 minut temu 35 źrodło rozwiń
We wpisie pt.: "Jak DataSet’a przenieść do MsSQL'a? (SQLServer Management Objects i SqlBulkCopy)" przedstawiłem, jak można na podstawie DataSet'a stworzyć odpowiadającą mu bazę danych. Niestety wkradł się tam pewien „brak”. Mianowicie część relacji pomiędzy tabelami zostało pominiętych – w wytworzonych tabelach nie zostały wykorzystane klucze obce. Otóż dla każdej tabeli (DataTable) w DataSet'cie dostępne są relacje typu dzieci (właściwość ChildRelations) i rodzice (właściwość ParentRelations). Relacje...
Bazy danych i XML 5021 dni, 18 godzin, 25 minut temu 67 źrodło rozwiń
Autor: Kilka dni temu postanowiłem zainteresować się tematyką automatycznego generowania dokumentów PDF z poziomu języka C#. Rozpocząłem przeszukiwanie internetu w celu znalezienia gotowej biblioteki realizującej taki proces. W sieci prym wiedzie PDFsharp, który poza tworzeniem dokumentów w formacie PDF, pozwala także m.in. na generowanie wykresów, osadzanie grafik oraz czcionek. Specyfikację biblioteki, przykłady oraz FAQ znaleźć można na tej stronie. Zachęcony bogactwem możliwości postanowiłem sprawdz...
Zwykle zapisując do logów jakąś informację dobrze jest zachować pewne powiązanie pomiędzy następującymi po sobie czynnościami. Dobrym przykładem takiej sytuacji jest np. wywoływanie ApplicationEvent, wysyłanie maila, czy właściwie jakikolwiek proces składający się z więcej niż 1 kroku. Po co? A no po to, aby potem w pliku z logami móc wyfiltrować tylko te informacje które nas faktycznie interesują. Szczególnie w środowisku wielowątkowym (czyli właściwie... zawsze?) bez tego ciężko jest dojść OCB
Architektura 5025 dni, 5 godzin, 46 minut temu 112 źrodło rozwiń