W drugiej części artykułu o tym jak stworzyć własny MembershipProvider i RoleProvider rozpoczynamy od utworzenia w głównym katalogu projektu folderu o nazwie Infrastructure, a w nim dwóch plików: MyMembershipProvider.cs i MyRoleProvider.cs.
Strona głównaUżytkownik
Paweł Łukasik | użytkownik
Artykuł omawia tworzenie własnego MembershipProvidera i RoleProvidera w ASP.NET MVC. Możemy oczywiście skorzystać z bazy ASPNETDB stworzonej przez Microsoft, ale warto się zastanowić czy jest to najlepszy sposób gdy mamy własne wyobrażenie tabel w bazie danych przechowujących użytkowników i role albo korzystamy z Entity Framework i Code First - wówczas do projektowanej bazy możemy dodać tabele z ASPNETDB, ale przy każdej zmianie którejś z klas modelu zostaną one usunięte jeśli dziedziczymy po klasie Drop...
W ramach pakietu dystrybucyjnego .NET Framework do systemu trafia biblioteka SOS.DLL, która pozwala analizować kod .NET w WinDbg. Na tym blogu promuję jednak użycie biblioteki psscor4 (i wcześniejszej psscor2) do analizy dumpów (a także debuggowania aktywnych procesów), co wiąże się głównie z tym, że biblioteka ta jest niezależna od konkretnej wersji CLR (a konkretniej biblioteki mscordacwks.dll), w ramach której uruchomiony był proces. Do tego dochodzi fakt, że psscor zawiera wszystkie te rozszerzenia, ...
Jak każdemu porządnemu developerowi zdarza mi się czasem napisać testy. Jak każdemu porządnemu developerowi, czasem zdarza mi się wykorzystać mechanizm metod rozszerzających (jeśli nie wiesz o czym mówię sprawdź na msdn). Jak każdy prawdziwy developer, chciałem przetestować logikę, która była wykorzystywana w jednej z takich metod. W zasadzie to nie w samej metodzie, chciałem sprawdzić czy zostanie wywołana z wartościami, które są dla mnie ważne. Zacznę od metod rozszerzających, a testowanie przyjdzie ...
Sztuka programowania 4580 dni, 3 godziny, 1 minutę temu 207 źrodło rozwiń
RxExtension - to biblioteka od Microsoftu ułatwiająca programowanie asynchroniczne. Opiera się na istniejących interfejsach IObservable oraz IObserver. W RX wiadomości są traktowane jako strumienie danych, do których należy się przypiąć i reagować na pojawienie się nowej wiadomości. Najnowsza wersja ma już cyferkę 2, ale nie jest jeszcze oznaczona jako stabilna. Ja do nauki wykorzystałem wersję 1 oraz książeczkę dostępną na stronie RX - Dev Labs Hands On. Na Channel9 są jakieś filmy na temat RX. Poniże...
Jedną z ciekawiej zapowiadających się nowości w języku Transact-SQL (T-SQL) w SQL Server 2012 była funkcja FORMAT. Wspomniał o niej choćby Marcin Nowakowski opisując nowe funkcje skalarne w najnowszej odsłonie systemu SQL Server. FORMAT daje spore możliwości tworzenia ciągów znakowych sformatowanych według zadanego wzorca zgodnego z wybraną notacją narodową (np. wybór formatowania “pie...
Bazy danych i XML 4587 dni, 17 godzin, 35 minut temu 94 źrodło rozwiń
Gry w odróżnieniu do aplikacji “biznesowych” często wydają z siebie dźwięki i muzykę. W wytycznych certyfikacji na Windows Phone Marketplace znajdziemy zapisy, które regulują co w kwestii dźwięków jest wymagane z naszej strony. Poniżej przedstawię przydatną klasę SoundProvider, która uprości nam zarządzanie dźwiękiem. WP Marketplace wymaga m.in od nas aby użytkownik mógł...
Mobile development 4590 dni, 11 godzin, 15 minut temu 27 źrodło rozwiń
In this post I’m going to show you how to diagnose SQL exceptions using memory dumps. Imagine you have a web application deployed on a production server. Your application is using Elmah configured to log all exceptions to a dedicated table. One day you receive information that users are unable to make orders and in the Elmah log there are lots of SqlTypeExceptions: SqlDateTime overflow. Must be between 1/1/1753 12:00:00 AM and 1...
Ten wpis jest częścią cyklu o moich przygodach w tworzeniu gier XNA dla Windows Phone. Gdy tworzyłem swoją pierwszą grę (tzn. przepisywałem z tutoriala) nauczyłem się, że:Texture2D – reprezentuje dowolną grafikę, teksturęVector2 – punkt na ekranie, np. aktualna pozycja gracza/wroga, początkowa pozycja gracza/wroga, pozycja tektury przycisku, pozycja wyświetlania się wynikówRectangle – przydaje się do wykrywania wszelkich kolizji np.: gracz vs wróg, pocisk v...
Mobile development 4594 dni, 13 godzin, 20 minut temu 90 źrodło rozwiń
Myślałem trochę nad tematami na następne wpisy i sądzę, że jest sporo tematów, nad którymi wypada się pochylić, zarówno tematów dla DBA/DEV, jak i tematów z zakresu Business Intelligence. Pierwszy temat wpadł mi do głowy przy okazji przygotowywania prezentacji na 61. spotkanie warszawskiego oddziału PLSSUG (Polish SQL Server User Group). Wspólnie z Małgosią Borzęcką zaprezentowałem wprowadzenie do indeksów columnstore. W zasadzie chyba używając słowa “wprowadzenie” dokonałem nadużycia :-) Sesja miała co...
Bazy danych i XML 4598 dni, 21 godzin, 21 minut temu 90 źrodło rozwiń
I’m a big fan of using conventions when developing applications. I blogged about it in the past (here, here and later here). I also gave a talk about my experience with this approach and how I currently use it at NDC last week (slides are available here, video is here). One problem I faced when trying to build convention validation tests was lack of simple API that would allow me to build the validation rules for my tests. I built a spike of such library (call...
Sztuka programowania 4600 dni, 22 godziny temu 80 źrodło rozwiń
Trochę wybranych informacji z tematyki tandemu ASP.NET MVC i HTML5. ASP.NET MVC do udostępniania danych zamiast WCF, jeszcze łatwiej używać danych JSON z poziomu klienta HTML/JSwłasny dependency resolver (np. oparty o Unity.MVC3 zapewniający odpowiednie disposowanie obiektów związanych z aplikacją web) //kontroler do udostępniania danych w JSON, nie dla widoku HTML/CSS public class DataServiceController: Controller { IAppointmentRepository _appointmentRepository; //zasilanie z IoC public DataServi...
Ten wpis jest częścią cyklu o moich przygodach w tworzeniu gier XNA dla Windows Phone. Ustawienia gry takie jak:Efekty dźwiękowe on/offPoziom głośności muzykiWibracja on/offWybrany język to coś co każda (a jeśli nie to większość) gier powinna posiadać. Ustawienia mają charakter globalny dla aplikacji więc powinno się do nich łatwo dobierać i dobrze jeśli będą się same zapisywać po zmianach. W tym celu tworzę statyczną klasę Settings ze statycznymi właściw...
Mobile development 4609 dni, 21 godzin, 50 minut temu 51 źrodło rozwiń
Jestem w miarę świeżo po przeczytanie Programowania Windows 8 (w wersji preview) napisanej przez pana który się nazywa Charles Petzold. Krótka recenzja: Aktualnie książka zawiera siedem rozdziałów, w nich omówienie XAML, mechanizmu wiązań, kontrolek, layout i krótko o WinRT. Jeśli ktoś z was pisał już w WPF czy SL nie znajdzie w niej (przypominam że mówię ciągle o wersji preview) nic ciekawego. Prawie nic, otóż są dwie nowości warte uwagi wprowadzone w nowszej wersji .NET. CallerMemberName oraz async/...
Sztuka programowania 4611 dni, 14 godzin, 53 minuty temu 178 źrodło rozwiń
Nie ma nic bardziej frustrującego dla zapalonego gracza, gdy po 2 godzinach grania mierzy się z ostatnim bossem, już prawie go zabija… gdy nagle… dzwoni mama! Gra zostaje przerwana i cały postęp gry leci w kosmos… Wiem! Ktoś powie, że w Mango mamy Fast Application Switching (FAS) i stan aplikacji jest w pamięci i gra zostanie automatycznie wznowiona. Tak, ale jeśli nasz...
Mobile development 4613 dni, 14 godzin, 59 minut temu 146 źrodło rozwiń
Na dobrą sprawę notka powinna kończyć się na krótkim stwierdzeniu: do zrzutów procesów należy używać tylko aplikacji o tej samej 'bitowości', co zrzucana aplikacja. Nie byłbym jednak sobą, gdybym nie postanowił przyjrzeć się nieco bliżej problemowi. W systemie 64-bitowym wszystkie procesy są 64-bitowe. Kropka. Aplikacje 32-bitowe uruchomione są w trybie emulacji w ramach WOW64, jednak dla systemu dalej są to procesy 64-bitowe, choć z pewnymi rozszerzeniami związanymi z architekturą - a więc dodatkowymi ...
Nie taki straszny ten nhibernate jak się początkowo wydaje. Wiem bo sam sprawdziłem, na początku myślałem, znowu wszystko w xml, nigdy nie wiadomo co i gdzie wpisać, ... Nie tym razem, wystarczy obejrzeć sobie ten prosty wstęp i okazuje się, że podłączenie nh do lokalnego pliku z sqlce jest proste. Chcesz korzystać z postgresql jako bazy danych, nic skomplikowanego. Zacznij od ściągnięcia paczki nhibernate. Następnie rozpakuj na dysk, a w środku znajdź katalog o nazwie "Configuration_Templates", w ni...
Bazy danych i XML 4622 dni, 5 godzin, 46 minut temu 222 źrodło rozwiń
Dzisiaj będzie krótko, bo zajęty jestem i więcej czytam niż piszę. Także taka krótka refleksja: Każdy wie, że koszta trzeba minimalizować. Uważam jednak, że istnieje pewna granica tych ograniczeń. Zastanówmy się pracujecie z jakimś narzędziem i jest spoko, robi to czego się od niego oczekuje. Ale moglibyście pracować z innym, za które trzeba zapłacić i nie są to jakieś groszowe sprawy. Kwota którą pracodawca płaci nam to też nie są grosze, a kwota którą otrzymuje za naszą pracę od docelowego klienta...
WeakReference i cache Zacznijmy od tego, co to jest cache? Za Wikipedią: Pamięć podręczna (ang. cache) – mechanizm, w którym część spośród danych zgromadzonych w źródłach o długim czasie dostępu i niższej przepustowości jest dodatkowo przechowywana w pamięci o lepszych parametrach. Ma to na celu poprawę szybkości dostępu do tych informacji, które przypuszczalnie będą potrzebne w najbliższej przyszłości. Na początek trochę interfejsów (kontraktów). Dane odc...
Architektura 4664 dni, 20 godzin, 49 minut temu 223 źrodło rozwiń
Tak jak napisałem w poprzednim poście: termin terminem, ale dzień w jedną czy w drugą stronę nikogo nie zbawi. A może mieć nieocenione efekty jeżeli chodzi o stosunek programistów do pracy, o zadowolenie z wykonywanych zadań, o zaangażowanie w projekt. Dzisiaj - obiecane "real life" przykłady. Mam takowe póki co trzy, ale w sumie jak na kwartał pracy daje to całkiem niezłą "średnią innowacyjności". Od razu pytanie: jak taka "średnia" wygląda u Was w firmie? I do rzeczy...