Piotr Szczepanik – programowanie (.Net, C#, SQL), administracja, IT

blog IT: programowanie, administracja
Chcemy ustawić wysokość DIV’a w zależności od rozdzielczości ekranu użytkownika odwiedzającego naszą witrynę.

Np. jeżeli rozdzielczość jest wyższa od danej wartości to wtedy nasz DIV otrzymuje określoną wysokość:
 Javascript |  kopiuj kod |? 
01
<div id="spacer"></div>
02
<script language="JavaScript" type="text/javascript">
03
<!--
04
    if (screen.height >= 768) {
05
        var elem = document.getElementById('spacer');
06
        if (elem != null) {
07
            elem.style.height = '30px';
08
        }
09
    }
10
    -->
11
</script>
Serwer Exchange działał bez problemu, a tu nagle pewnego, „poniedziałkowego” dnia przestały dochodzić wiadomości…. przy próbie połączenia się po SMTP mamy komunikat:

452 4.3.1 Insufficient system resources


Co się stało? Prawdopobnie na dysku, na którym przechowywany jest folder kolejki jest za mało dostępnego wolnego miejsca. W zależności od ustawień Exchange 2007 może wymagać zapewnienia wolnego miejsca liczonego nawet w GB. W momencie osiągnięcia dolnego pułapu (nie musi to być wartość zbliżona do 0MB, równie dobrze może to być 3GB – w zależności od ustawień) serwer automatycznie wyłączy działanie niektórych usług.

Na ta okoliczność EventLog powinien zawierać odpowiedni wpis informujący o braku wystarczającego miejsca na dysku.
Kontrolka ASP:Menu dziwnie się zachowuje / renderuje w przypadku wielopoziomowego menu w przeglądarkach Chrome i Menu. Jest kilka rozwiązań tego problemu. Poniżej jeden z nich, prawdopodobnie najszybszy.

W kodzie danej Page / MasterPage / bądź klasy nadrzędnej nad naszymi „Page” dodajemy:

 C# |  kopiuj kod |? 
01
protected override void OnInit(EventArgs e)
02
{
03
    base.OnInit(e);
04
 
05
    if (!string.IsNullOrEmpty(Request.UserAgent) &&
06
        (Request.UserAgent.IndexOf("AppleWebKit") > 0))
07
    {
08
        Request.Browser.Adapters.Clear();
09
    }
10
} 

Podczas próby odinstalowania Visual Studio 2008 (również Team System) natrafiamy na taki komunikat:
A problem has been encountered while loading the setup components. Canceling Setup.„.

W takim wypadku należy najpierw odinstalować wszystkie poprawki i dodatki do Visual Studio, a następnie ponowić próbę odinstalowania samego Visual Studio.
Co może być przyczyną jeżeli podczas próby użycia ASP.Net Charting Control pojawia nam się HttpException: Błąd podczas wykonywania żądania podrzędnego dla ChartImg.axd ?

1. Brak odpowiedniego wpisu w web.config w sekcji HttpHandlers.
Wpis w pliku konfiguracyjnym naszej Web’owej aplikacji po poprawnej instalacji kontrolki powinien wyglądać tak:
 XML |  kopiuj kod |? 
1
<add path="ChartImg.axd" verb="GET,HEAD" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
2
    validate="false" ></add>

2. Jeżeli HttpException występuje tylko tuż po wywołaniu POST, wtedy nasz wpis w web.config powinien wyglądać następująco:
 XML |  kopiuj kod |? 
1
<add path="ChartImg.axd" verb="GET,HEAD,POST" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
2
    validate="false" ></add>

Dodatkowe problemu mogą się pojawić przy wyświetlaniu wykresu jeżeli w sekcji <handlers> nie mamy następującego wpisu:
 XML |  kopiuj kod |? 
1
<remove name="ChartImageHandler" />
2
<add name="ChartImageHandler" preCondition="integratedMode" verb="GET,HEAD"
3
    path="ChartImg.axd" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />