Ponieważ co jakiś czas tworząc stronki w ASP.NET, nie pamiętam pewnych zagadnień i jestem zmuszony zerkać na stare projekty, postanowiłem umieścić na blogu kilka wybranych problemów. Zagadnienia te są zwykle banalne, ale mam dość tracenia czasu na ich przypominaniu i chce je mieć w jednym miejscu o!
W tej serii artykułów zawarłem problemy:
- Polskich znaków.
- Przypomnienie o trybie uruchamiania Visual Studio 2005/2008 w Windows Vista.
- Sposób na umieszczenie bazy ASPNETDB.mdf w naszym własnym pliku bazy danych.
- Ustawienie ról, profili oraz praw dostępu dla wybranych użytkowników przy użyciu web.sitemap. (w trakcie)
Polskie znaki
A więc ustawić polskie znaki w ASP.NET to rzecz prosta, zwykle niewymagająca od nas żadnych zmian, ale chciałem zwrócić uwagę jak łatwo można sobie strzelić w nogę.
Wystarczy, że chcemy zmigrować zwykłą stronę HTML na stronę ASP.NET. Co robimy? Zakładamy nowy projekt ASP.NET, dodajemy stronę Master Page, dodajemy np. Default.aspx i kopiujemy zawartość naszej strony do stron .aspx. Kopiujemy także META tag-i i tu należy zwrócić uwagę, aby oprócz skopiowania META tag-u kodowania znaków, czyli np.
<meta http-equiv="Content-type" content="text/html; charset=iso-8859-2" />
ustawić także w web.config tag globalization. Mianowicie, należy pamiętać o requestEncoding, responseEncoding oraz fileEncoding. Mój przykładowy wpis w web.config, wraz z ustawieniami "kraju" wygląda następująco:
<globalization culture="auto:pl-PL" uiCulture="auto:pl-PL" fileEncoding="windows-1250" responseEncoding="utf-8" requestEncoding="utf-8"/>
Jeśli o tym zapomnimy, możemy mięć problem z polskimi znakamii po umieszczeniu strony na serwerze. Pamiętajmy, że wpis w META tagu jest istotny tylko dla przeglądarki, a nie dla IIS-a.
Jeśli nie chcemy robić ustawień globalnie, zawsze możemy wstawić w dyrektywie strony: <%@ Page CodePage="28592" … %>, choć to rozwiązanie jest niezalecane.
Przypomnienie o trybie uruchamiania Visual Studio 2005/2008 w Windows Vista
A więc kolejny raz zdarzyło mi się, że spędziłem trochę czasu poszukując rozwiązania problemu, który był spowodowany właśnie przez uruchamianie Visual Studio pod Windows Vista nie jako administrator. Aby raz na zawsze, a raczej do następnego formatu systemu, ustawić ten tryb automatycznie i nie musieć o tym pamiętać, należy:
Prawym klawiszem myszki kliknąć na ikonce Visual Studio 2005 lub/i 2008, wybrać pole Properties/Właściwości i następnie przejść do zakładki Compatibility/Kompatybilność. W tej zakładce należy odszukać na samym dole grupy Privilege Level/Poziom Dostępu i zaznaczyć opcję Run this program as an administrator/Uruchamiaj program jako administrator(patrz Rysunek 1.). Następnie kliknąć Apply/Zastosuj i zamknąć okienko. Od tej pory przy każdym uruchomieniu zostaniemy odpytani o prawa dostępu (no chyba, że zmienimy w ustawieniach Windows Vista na niepytanie o prawa) i nasz kochany Visual Studio będzie działał z prawami administratora. :]
Problem ten wydaje się tym bardziej upierdliwy, iż kiedyś spędziłem naprawdę dużo czasu zanim odkryłem, że powodem nie działania debugera w ASP.NET jest właśnie brak praw administracyjnych dla Visual-a. Debuger się włączał, ale nigdy nie zatrzymywał na break pointach.

Brak komentarzy:
Prześlij komentarz