lut
8
2012

Prosty moduł zarządzający konfiguracją

Ostatnio stworzyłem dość prosty i wydaje mi się fajny moduł konfiguracyjny :) Potrafi trzymać np. w bazie danych dowolne obiekty konfiguracyjne, pobierać je i zmieniać jednocześnie dbając o ich unikalność. Całość kodu to jeden interfejs, jedna klasa abstrakcyjna i dwie klasy implementujące :) Zacznijmy od ogólnego zarysu architektury (o ile przy takim prostym rozwiązaniu można mówić o architekturze :)) Za jej całość odpowiada: interfejs IConfigurationProvider oraz klasa abstrakcyjna ConfigObject. Przyjrzyjmy się ich kodow [Więcej]
lut
1
2012

Visual Studio : Nie znajdywanie typu z zewnętrznie podpiętego projektu

Ostatnio spędziłem pół dnia próbując rozczaić dziwny problem jaki napotkałem przy próbie zbuildowania solution. Kompilator twierdził, że dany typ nie istnieje w podanym namespace natomiast IntelliSence w Visual Studio był innego zdania :) Przypadek był taki, że korzystałem z zewnętrznego projektu podpiętego do solucji [Więcej]
sty
26
2012

ASP.NET : wykonywanie zadania co pewien czas

Często zdarza się, że dostawca udostępniający nam hosting nie daje możliwości zainstalowania na swojej maszynie naszej własnej usługi Windows. A taka usługa przydałaby się nam, np. do okresowego wykonywania jakiejś czynności (przykładowo aktualizowanie statusu jakichś produktów co 5 min). Możemy się oczywiście podpiąć do "normalnego" requestu i wykonać nasze zadanie ale ma to pewne wady. Po pierwsze wymaga dużego ruchu na serwerze (o co np. w godzinach nocnych może być ciężko). Po drugie, rozkład żądań jest niedeterministyczny i trudno tu oczekiwać wykonania zadania o ściśle określonej porze. I po trzecie, wykonanie jakiegoś "ciężkiego" zadania znacznie spowolni odpowiedź na request który miał nieszczęście zostać nim obdarowany. Pozostają do rozważenia inne sposoby, nad którymi się ostatnio zastanawiałem. Należy tu zaznaczyć, że wszystkie one stoją w pewnej sprzeczności z samą zasadą działania serwera WWW. Jego zadaniem jest w końcu odebranie requesta od klienta, przetworzenia go i wygenerowania odpowiedzi a nie do ciągłego wykonywania jakichś zadań w tle. Na pewno wydajność takiego rozwiązania będzie dużo niższa niż w przypadku dedykowanego serwera aplikacyjnego z zainstalowaną usługą. No ale jeśli takiego serwera nie mamy to pozostaje kilka sposobów na obejście problemu. [Więcej]
sty
13
2012

Gdy null nie jest nullem

Ostatnio spędziłem wiele czasu siedząc nad zdaje się prostym kawałkiem kodu: [Więcej]