SelfInstaller, czyli samoinstalująca się usługa

Jakiś czas temu opisałem jak utowrzyć instalator dla uslugi Windows w środowisku Visual Studio. Jest to sposób dość skomplikowany i czasochłonny. Z drugiej strony daje duże możliwości konfiguracyjne i rozszerzające. Nie o tym jednak. W niniejszym artykule opisuję jak zainstalować usługę Windows wyłącznie za pomoca kodu.
Continue reading

Full-Text Search – zadawanie zapytań

W poprzednim artykule została opisana instalacja i konfiguracja wyszukiwania pełnotekstowego dla języka polskiego. Do całości rozwiązania brakowało jednak sposobu zadawania zapytań na indeks FTS, co opisałem w tym artykule.

Zadawać zapytania można tylko na kolumnach o typie tekstowym (char, varchar, nchar, nvarchar, text, ntext, image, xml, varbinary). Można to zrealizować na dwa sposoby. Pierwszy z nich wykorzystuje predykaty CONTAINS oraz FREETEXT. Druga metoda wykorzystuje funkcje CONTAINSTABLE oraz FREETEXTTABLE.
Continue reading

Full-Text Search – instalacja i konfiguracja

Wyszukiwanie pełnotekstowe, to mechanizm wydajnego przeszukiwania kolumn o charakterze tekstowym. W tym celu zakładany jest specjalny indeks na tabeli, która ma zostać przeszukana. Zapytania wykonywane na takim indeksie pozwalają dokonać językowego przeszukiwania opartego na regułach określonego języka. Zwrócone rezultaty, to obiekty zawierające przynajmniej jedno dopasowanie (tzw. hit). Poniżej został opsiany proces instalacji oraz konfiguracji polskich narzędzi do Full-Text Search na przykładzie Microsoft SQL Server.
Continue reading

Web user control (ascx)

Kontrolka użytkownika (web user control) jest komponentem, który działa bardzo podobnie do zwykłej strony ASP.NET. Elementy, metody oraz akcje definiuje się zupełnie identycznie. Różnica jest taka, że kontrolki ascx umieszcza się na stronach aspx. Jest to świetny sposób na zgromadzenie w oddzielnym pliku współpracujących ze sobą kontrolek, a co za tym idzie odseparowanie ich zdarzeń od pozostałej logiki. Artykuł ten opisuje, jak w łatwy i szybki sposób zbudować i następnie korzystać z dwóch kontrolek użytkownika: UpDownControl oraz DatePickerControl. Do ich stworzenia wykorzystałem jQuery UI oraz AjaxControlToolkit. Pominąłem opis konfiguracji i deklaracji skryptów z tychże bibliotek.
Continue reading

Profile w ASP.NET

Dawno temu opisałem w jaki sposób zintegrować Membershipa z własną bazą danych (tutaj). W tym artykule chciałbym skupić się na innym, bardzo ciekawym mechanizmie, a mianowicie na profilach.
Profile służą do przechowywania i przywracania ustawień użytkownika odwiedzającego aplikację. Ustawienia, które chcemy przechowywać, konfigurujemy w pliku konfiguracyjnym aplikacji (web.config) w sekcji profile. Kiedy aplikacja startuje oraz mechanizm profili jest włączony, ASP.NET buduje klasę ProfileCommon, która to dziedziczy po ProfileBase. Klasa ta zawiera wszystkie niezbędne mechanizmy do operacji na profilach użytkowników. Przejdźmy do praktyki.
Continue reading