Strona głównaUżytkownik

psz750 | użytkownik

psz750
psz750
13 018,14
3313 dni, 22 godziny, 53 minuty temu
21 kwietnia, 2012
dotnetomaniak.pl

Powiedzmy, że potrzebujemy wyciągnąć PostCode użytkownika (a po drodze mamy jeszcze Address): string postCode = person.Address.PostCode.ToString(); Nie mamy pewności czy person nie jest nullem, a następnie czy person.Address nie jest nullem, a następnie person.Address.PostCode … . Aby się zabezpieczyć przed NullReferenceException musimy napisać trochę dodatkowego kodu, jak np: ...

Tagi: C#, Null
Dziel się z innymi:
Wielokrotne zabezpieczanie się przed nullem | Show me the code

Inne 3667 dni, 6 godzin, 41 minut temu psz750 602 źrodło rozwiń

Domyślnie ASP.NET MVC blokuje metody zwracające JSON, które wywołuje się za pomocą HTTP GET. Przykład:public ActionResult GetData() { return Json(new []{new Person("Piotr","Zielinski")}); } Wykonanie zakończy się wyjątkiem: This request has been blocked because sensitive information could be disclosed to third party web sites when this is used in a GET request. To allow GET requests, set JsonRequestBehavior to AllowGet. Z tego względu, programiści często wywołują Json z parametrem AllowGet:publi...

Dziel się z innymi:
Piotr Zieliński » ASP.NET MVC: JSON i zwracanie danych za pomocą HTTP GET

Web 3667 dni, 6 godzin, 41 minut temu psz750 218 źrodło rozwiń

Kiedyś już o tym pisałem pobieżnie (kilka lat temu), ale dzisiaj chciałbym pokazać inny przykład wraz ze wszystkimi możliwymi parametrami. Stwórzmy najpierw  klasyczny formularz i kontroler: @using (Html.BeginForm()) { @Html.DropDownList("selectedGroup",new SelectList(new []{"All","GroupA","GroupB"})) <input type="submit" value="Refresh"> } Prosty formularz z ComboBox i przyciskiem, który powoduje ponowne załadowanie strony oraz wykonanie metody GetData z nowym parametrem:public ActionResul...

Dziel się z innymi:
Piotr Zieliński » ASP.NET MVC a Ajax

Web 3669 dni, 22 godziny, 27 minut temu psz750 295 źrodło rozwiń

W starszych wersjach .NET, do dyspozycji był m.in. strumień GZipStream. Do prostych zastosować wystarczał ale zwykle, trzeba było opakowywać go w swoje klasy, aby np. skompresować cały folder. Od .NET 4.5 mamy klasę ZipFile, która dostarcza kilka przydatnych metod. Najpierw należy dodać referencję do System.IO.Compression.FileSystem, a potem wystarczy skorzystać jednej ze statycznych metod...

Dziel się z innymi:
Piotr Zieliński » Kompresja danych w .NET 4.5 – klasa ZipFile

Inne 3671 dni, 12 godzin, 9 minut temu psz750 166 źrodło rozwiń

Wspomniałem o właściwościach DirectorySearcher.SizeLimit oraz DirectorySearcher.PageSize, których poprawne ustawienie zapewnia, że z bazy danych AD można pobrać więcej obiektów niż ustawiony na serwerze limit. Tym razem chciałbym sprecyzować do czego służą obie właściwości bo moim zdaniem dokumentacja nie jest precyzyjna, co potwierdza zresztą spora liczba pytań w Internecie na ten temat. Otóż SizeLimit określa maksymalną liczbę obiektów jaka może zostać zwrócona w wyniku wy...

Michał Komorowski: SizeLimit, PageSize i dokumentacja

Inne 3671 dni, 12 godzin, 9 minut temu psz750 108 źrodło rozwiń

Najprościej definiując problem: Czy mamy tylko jeden return z metody, czy też mamy ich kilka w różnych miejscach. Mówię też o metodach, które nie zwracają wartości. Metodę void też można skończyć wcześniej...

Single Exit Point | Show me the code

Sztuka programowania 3674 dni, 15 godzin, 53 minuty temu psz750 228 źrodło rozwiń

Najczęściej programiści korzystają z klasy Dictionary ale warto rozważyć dwie inne kolekcje. ListDictionary przechowuje dane na liście jednokierunkowej. Dla słowników z kilkoma kluczami zwykle jest to szybsze niż standardowy hash table, wykorzystywany w Dictionary. Szybciej jest po prostu przejść przez 10 elementów, niż liczyć skomplikowaną funkcję haszującą.

Piotr Zieliński » HybridDictionary oraz ListDictionary

Inne 3678 dni, 10 godzin temu psz750 194 źrodło rozwiń

.NET zawiera klasy przeznaczone do leniwej inicjalizacji i zwykle nie trzeba samemu implementować tego wzorca. Jeśli jakiś obiekt, chcemy inicjalizować dopiero w momencie, gdy jest on potrzebny to można skorzystać ze wspomnianych typów.

Tagi: .Net, C#, lazy
Dziel się z innymi:
Piotr Zieliński » LazyInitializer oraz Lazy

Inne 3677 dni, 15 godzin, 34 minuty temu psz750 209 źrodło rozwiń

Ostatnio w sieci ukazało się wiele przykładów jak posprzątać kod w kontrolerach mvc. Sam podjąłem próbę walki z ciągle powtarzającym się kodem. Rozdmuchany kontroler z akcjami wypchanymi kodem wszelakiej maści, od walidacji po wywołania serwisów, repozytoriów, łapanie wyjątków i jak do tego jeszcze zaplącze się jakaś cząstka logiki biznesowej nie przyniesie nam nic dobrego.

Źródło: blog.softio.pl
Dziel się z innymi:
Nie testuję kontrolerów - część 1 Softio Blog

Sztuka programowania 3678 dni, 21 godzin, 51 minut temu psz750 315 źrodło rozwiń

Post ten dotyczy tematu efektywnego pobierania danych z Active Directory. Załóżmy, że chcemy pobrać listę użytkowników przy czym interesują nas tylko niektóre właściwości, które ich opisują. Pokarzę trzy niewiele różniące się z pozoru sposoby odczytania potrzebnych nam danych. Pozornie ponieważ te trzy podejścia znacząco różnią się wydajnością.

Dziel się z innymi:
Michał Komorowski: Jak napisać szybki program pobierający dane z AD

Inne 3680 dni, 10 godzin, 53 minuty temu psz750 248 źrodło rozwiń

Simple.Data jest bardzo fajne, ale czasem… niewystarczające. Na przykład na chwilę obecną nie są wspierane podzapytania. Wtedy z pomocą przychodzi biblioteka Simple.Data.RawSql dająca możliwość wysyłania “gołego” SQLa przez Simple.Data.

Tagi: simpledata, SQL
Dziel się z innymi:
Simple.Data i generowanie SQL | Maciej Aniserowicz o programowaniu

Bazy danych i XML 3682 dni, 5 godzin, 55 minut temu psz750 112 źrodło rozwiń

Filtry w ASP.NET MVC potrafią znaczącą polepszyć czytelność kodu, jeśli dana logika musi być wykonywana dla wielu akcji. Stanowią one tak naprawdę programowanie aspektowe, które jest całkowicie odmienne od powszechnie znanego programowania obiektowego. Ze względu na to, że programiści nie są przyzwyczajeni do tego modelu, należy uważać jak wykorzystuje się filtry. Klasyczne zastosowanie aspektów czy filtrów to caching, logging czy autoryzacja. Problemy te nalezą do grupy tzw. cross-cutting concerns, czy...

Dziel się z innymi:
Piotr Zieliński » Filtry w ASP.NET MVC

Web 3683 dni, 16 godzin, 59 minut temu psz750 210 źrodło rozwiń

O projekcie Fody po raz pierwszy, usłyszałem dość dawno temu, ale dopiero ostatnia prezentacja Tomka na Wroc.NET uświadomiła mi jak fajny jest to projekt. Ja sam będę miał przyjemność prezentować Fody’ego w nadchodzącym tygodniu (na spotkaniu KGD.NET) a dzisiaj wstęp na blogu. Czym jest fody? Krótko mówiąc to framework, który umożliwia odpalanie własnych tkaczy modyfikujących kod już po kompilacji. Dzięki temu cały tzw. pluming code, możemy wyciągnąć z naszego kodu źródłowego do osobnych modułów.

Tagi: fody, IL, weaver
Źródło: blog.octal.pl
Dziel się z innymi:
Fody | .net blog – octal.pl

Narzędzia 3687 dni, 7 godzin, 24 minuty temu psz750 217 źrodło rozwiń

Kilka wpisów wcześniej pisałem o atrybucie OutputCache. Dla prostych zastosowań sprawdza się dość dobrze, ale bardzo szybko można dostrzec jego ograniczenia i błędy. Przedstawmy najpierw kilka niedogodności związanych z OutputCache.

Dziel się z innymi:
Piotr Zieliński  »  ASP.NET MVC – caching za pomocą DonutOutputCache

Web 3687 dni, 7 godzin, 24 minuty temu psz750 112 źrodło rozwiń

CSRF jest dzisiaj bardzo dobrze znanym atakiem, ale niestety wciąż wiele aplikacji internetowych pozostaje niezabezpieczonych. W poście nie będę opisywał szczegółowo CSRF ponieważ w Internecie jest już od dawna mnóstwo informacji o tym. Chciałbym jednak pokazać jak dzięki ASP.NET MVC możemy w łatwy sposób uchronić się przed atakiem. W MVC standardowy formularz tworzymy w następujący sposób:@using (Html.BeginForm("Manage", "Account")) { } Następnie mamy w kontrolerze akcję implementującą obsług...

Piotr Zieliński  » Blog Archive   » ASP.NET MVC: Cross-Site Request Forgery

Web 3689 dni, 18 godzin, 24 minuty temu psz750 185 źrodło rozwiń

W poprzednim wpisie Czas UTC a DateTime.Kind byłem zbyt mało stanowczy lub nie wyczerpałem tematu Maciek w komentarzu podzielił się linkiem i skomentował krótko – DateTime.Now praktycznie nigdy nie ma sensu Autor podlikowanego posta (The case against DateTime.Now) proponuje aby DateTime.Now i DateTimeKind.Local zostały w następnej wersji .NET oznaczone jako [Obsolete]. Postaram się streścić ten ar...

DateTimeOffset zamiast DateTime | Show me the code

Inne 3690 dni, 5 godzin, 53 minuty temu psz750 178 źrodło rozwiń

Ostatnio pierwszy raz w życiu miałem okazję ustawiać nagłówki HTTP odnośnie cachowania. Pogłębiłem trochę temat i okazało się, że trzeba myśleć nie w kategoriach czasu lokalnego, tylko czasu uniwersalnego. Na nasze: zamiast DateTime.Now trzeba używać DateTime.UtcNow. Wstęp: Przechowujesz datę i czas? Może warto w UTC? DateTime ma właściwość Kind typu DateTimeKind: public enum D...

Dziel się z innymi:
Czas UTC a DateTime.Kind | Show me the code

Inne 3689 dni, 18 godzin, 24 minuty temu psz750 97 źrodło rozwiń

Są momenty, w których jedyne co wypada zrobić do dać sobie samemu blachę z wykrzyknieniem: “kRRRRetynie!”. Tak miałem ostatnio, gdy po wdrożeniu kolejnej wersji systemu dostałem od klienta komunikat: “e ziom, nie działa!”. Po inwestygacji logów przyczyna okazała się dość prozaiczna: owszem, deploy poszedł, wszystko się udało, ale “użytkownik końcowy” nie zrobił (bo i skąd miał wiedzieć że trzeba to zrobić?) full-refresh, aby przeglądarka zaciągnęła now...

Dziel się z innymi:
JavaScript "autoversioning" w Nancy | Maciej Aniserowicz o programowaniu

Web 3691 dni, 14 godzin, 29 minut temu psz750 115 źrodło rozwiń

Temat czytelności kodu jest bardzo dyskusyjny. Mam na myśli to, że jest tutaj wiele “zależy”. Funkcję, którą dziś opisuję, popełniłem kilka dni temu, nie myśląć specjalnie o tym, że będą ją tutaj omawiał. Spójrz najpierw na oryginalny kod poniżej krytycznym okiem, a później zapraszam do mojej analizy “dlaczego tak, a nie inaczej”.

Dziel się z innymi:
Kilka przykładów czytelności kodu | Show me the code

Sztuka programowania 3691 dni, 7 godzin, 24 minuty temu psz750 466 źrodło rozwiń

Spodobała mi się sama nazwa „Onion Architecture” jak i to co pod tą nazwą przedstawił Jeffrey Palermo. Niby zasady znane od dawna, a jednak zostały one umiejętnie pokazane na nowo. Niestety na sieci ciężko znaleźć szkielet przykładowej aplikacji, która spełniała by podstawowe założenia. W związku z tym na szybko zmontowałem takowy.

Źródło: blog.softio.pl
Dziel się z innymi:
Onion Architecture Softio Blog

Architektura 3692 dni, 8 godzin, 28 minut temu psz750 356 źrodło rozwiń

1 2 3 4 5 6 7... 9 10

Najaktywniejsi w tym miesiącu