Kolejna odsłona z cyklu pod tytułem: co każdy programista ASP.NET musi wiedzieć. Tym razem niezbyt długi post o jednym z mechanizmów zarządzania stanem aplikacji odbywającym się po stronie serwera, czyli o stanie sesji (session state). Poruszone zostaną w nim jedynie podstawowe kwestie, być może w późniejszym czasie do zagadnienia tego powrócę. Stan sesji w ASP.NET umożliwia przechowywanie wartości specyficznych dla użytkow...
Microsoft opublikował wersję CTP komponentu pozwalającego tworzyć aplikację na Windows Phone 7 w języku Visual Basic.
Mobile development 5129 dni, 15 godzin, 25 minut temu 18 źrodło rozwiń
W Visual Studio możemy zmieniać wartość powiększenia edytora kodu poprzez CTRL + scroll myszy. Obecna wartość powiększenia wyświetlana jest w lewym dolnym rogu. Osobiście nigdy nie miałem potrzeby zmiany wielkości powiększenia bo odpowiada mi domyślna wartość. Jednak bardzo często udawało mi się niezamierzenie użyć wspomnianego na początku skrótu. Sytuacja ta była na tyle denerwująca, że postanow...
Autor: Podczas zmagań ze stworzeniem rejestracji użytkowników (która jest już dla BlogMaker'a w 90% skończona i wkrótce pojawi się o tym szerszy post) przyszło stworzyć kod aktywujący, który zostanie mailem wysłany do użytkownika, aby potwierdzić adres, na który rejestruje się dane konto. Ów kod nie jest niczym innym jak przypadkowym łańcuchem znaków. początkowo użyłem po prostu obiektu klasy Random, który przy odpowied...
Od pewnego czasu odgrażałem się, że napiszę kilka zapytań przy użyciu NHibernate. Teraz nadszedł ten czas. Za materiał treningowy posłużą mi wcześniej opisywane statystyki. Metodyka pisania zapytań jest następująca: najpierw SQL, później zapytanie w NH. Ma to na celu pokazanie w jaki sposób można przekładać T-SQL na język zapytań NH (w tym przypadku Criteria API).
Zamieszczam przykład zastosowania LINQ To SharePoint do pobierania, zapisywania, aktualizowania i usuwania danych z dwóch list powiązanych ze sobą lookup fieldem (relacja jeden do wielu).
Bazy danych i XML 5130 dni, 19 godzin, 7 minut temu 47 źrodło rozwiń
Dzisiaj coś z pogranicza horroru (będzie strasznie), sci-fi (będzie niesamowicie) i kina familijnego (będzie happy end). Czyli dlaczego warto używać transakcji NHibernate przy każdym wywołaniu metody Save(). Zaczęło się od prac nad statystykami. Po sporządzeniu planu wykonania 7 rodzajów statystyk przystąpiłem do realizacji pierwszych punktów. Zacząłem od napisania testów oraz repozytoriów do pobierania danych z bazy w celu wyliczenia statystyk. Metodyka pisania testów metod pobierających dane z bazy był...
Bazy danych i XML 5130 dni, 19 godzin, 7 minut temu 161 źrodło rozwiń
Silnik Sql Server posiada kilka metod do pobierania daty i czasu. Część z nich jest już przestarzała i nie powinno się z nich korzystać. SQL Server 2008 wprowadził kilka dodatkowych funkcji: SYSDATETIME, SYSDATETIMEOFFSET, SYSUTCDATETIME. Wszystkie one pobierają czas z dokładnością do 100 nanosekund. Aby przekonać się co dokładnie zwracają najlepiej wywołać je:select SYSDATETIME() as'SYSDATETIME',SYSDATETIMEOFFSET() 'SYSDATETIMEOFFSET', SYSUTCDATETIME() as'SYSUTCDATETIME'; Jak widać SYSDATETIEM zwraca ...
Bazy danych i XML 5131 dni, 13 godzin, 28 minut temu 40 źrodło rozwiń
Po odinstalowaniu Resharpera zauważyłem, że w edytorze nie są zaznaczane błędy. Chwila grzebania w opcjach i udało się doprowadzić Visual Studio do stanu sprzed instalacji narzędzia. Wystarczy wybrać Tools > Options > Text Editor > C# > Advanced i zaznaczyć w Editor Helper opcje Underline errors in the editor oraz Show live semantic errors.
W poprzednich wpisach kilkukrotnie pisaliśmy o potrzebie stosowania testów jednostkowych jaką na szczęście wymusza na nas podporządkowanie się zasadom extreme programmingu. Wiele artykyłów poświęconych Test-driven development’owi pojawi się zapewne na naszym blogu w przeciągu kolejnych miesięcy. Warto więc opisać także podstawy korzystania z biblioteki do testów jednostkowych której używamy, czyli NUnit’a. Aby rozpocząć pracę z tym jakże użytecznym narzędziem pobieramy go z odpowiedniej strony, w wersji...
Autor: Obiecałem, że jak tylko będę miał możliwość, zorganizuję konkurs T-SQL inspirowany cyklicznymi konkursami T-SQL Challenge. I słowa dotrzymuję :-)Dane wejściowe Dane są dwie tabele o strukturach, jak poniżej:Tabela dbo.Teams: TeamId TeamName 1 Poland 2...
Bazy danych i XML 5131 dni, 19 godzin, 57 minut temu 90 źrodło rozwiń
Rozwiązanie problemu wypisania boxingu i unboxingu, oczywiście chodziło mi komendę: ildasm TestBox.exe /text | findstr box Jest to chyba najszybszy sposób uzyskania informacji o boxingu i unboxingu w kodzie, a staje się on jeszcze szybszy gdy zastosujemy rozszerzenie PowerCommands, wtedy wystarczy jedynie kliknąć na projekcie wybrać Open Command Prompt i następnie przejść do katalogu bin/debug|release gdzie już możemy spokojnie operować na pliku – oczywiście dla chcących nie powinno być problemu wpr...
W aplikacjach biznesowych bardzo często występuje funkcjonalność importu / eksportu danych z / do Excela. Jednym ze sposobów pobierania danych z Excela jest zastosowanie OLE DB jako dostawcy danych. Nie jest to może rozwiązanie najbardziej optymalne, ale czasami nie ma możliwości wpływu na jego wybór. W celu skorzystanie z tego sposobu należy zdefiniować łańcuch połączenia. I tu pojawia się problem ponieważ aby ten sposób zadziałał musi być zainstalowany Excel. Dodatkowo ...
Kilka dni temu byłem zmuszony przeinstalować Visual Studio 2010. Nie przewidywałem żadnych problemów. Ot zwykłe odinstalowanie i zainstalowanie na nowo programu. Po zakończeniu procesu instalacji uruchomiłem losowy projekt by sprawdzić czy wszystko w porządku. Niestety podczas ładowania solucji pojawiły się błędy: The 'Microsoft.Data.Entity.Design.BootstrapPackage.BootstrapPackage...' package did not load correcly. The 'VSTS for Database Professionals Sql Server Data-tier Application' package did not loa...
Szukając dzisiaj pewnego plugina do jQuerego moją uwagę zwróciła nazwa „jQuery Crash”. Z ciekawości postanowiłem sprawdzić, co się za tym kryje. Przedstawiony opis tłumaczy wszystko „Summary A jQuery plugin for crashing IE6. That’ll teach those motherf!%@#s to upgrade their s#t. Usage To crash IE6 call„ Trzeba przyznać, że autor ma ciekawe podejście do życia Jakby kogoś plugin zainteresował, to można go pobrać z tej strony: http://plugins....
Write less, do more! Nagłówek tego akapitu to motto biblioteki JavaScript, z którą postanowiłem się zapoznać: jQuery (podlinkowana strona jest godna gorącego polecenia, zawiera absolutnie wszystko, czego potrzeba do nauki). Nie miałem nigdy do czynienia z JavaScript, dlatego początkowo trudno było mi rozczytywać przykłady z dokumentacji (zwłaszcza, że niejedna linijka kodu w nich zawartego zaczyna się od zlepka $(„#, widniejącego w tytule wpisu). Opanowanie podstaw nie okazało się jednak trudne, po kilku...
Przez długi okres czasu zmagałem się z problemami związanymi z liczbami zmiennoprzecinkowymi w ASP.NET MVC 2. Problemów tych było tak wiele, że nie sposób jest omówić ich tu wszystkich. W większości przypadków dotyczyły one odmiennego interpretowania separatora (czyli znaku oddzielającego część całkowitą liczby, od części ułamkowej) przez serwer oraz przez walidator. Próbowałem wielu różnych sposobów, żeby sobie z tym poradzić, lecz nic nie dawało satysfakcjonujących mnie rezultatów. Okazało się, że wyni...
Pliki .chm to prosty sposób na help do programu, dodatkowo polecono mi programik Precision Helper (freeware), który ułatwia tworzenie dokumentacji. Niestety WPF nie ma wbudowanego mechanizmu do obsługi tych plików. Oczywiście można posiłkować się klasą Help z biblioteki System.Windows.Forms. Pozostaje tylko pytanie czy warto dołączać dużą (ok 5MB) bibliotekę, aby skorzystać z jednej klasy. Moim zdaniem nie warto. Postanowiłem napisać moduł, który zajmie się obsługą plików *.chm w WPF. Po kilku godzinach...
Na Codeplex w dziale Patterns & Practices pojawił się poradnik dla osób, które chciałyby przenieść swoje aplikacje na platformę Windows Azure.
Architektura 5133 dni, 13 godzin, 30 minut temu 31 źrodło rozwiń
21 września zespół Microsoft SharePoint Team wykrył że luka w ASP.NET dotyczy także SharePoint w wersjach 2.0, 3.0 i w najnowszej wersji wydanej w tym roku - 4.0. Obecnie nie ma rozwiązania dla poważnej luki w bezpieczeństwie, jednakże pojawiło się obejście problemu, polegające na odpowiedniej modyfikacji web.config i dodaniu pliku obsługi błędów.