50 Ways to Avoid, Find and Fix ASP.NET Performance Issues – PDF kniha zdarma

imageZa připomenutí stojí, že RedGate před nějakým časem sestavil a zdarma ke stažené nabízí knihu 50 Ways to Avoid, Find and Fix ASP.NET Performance Issues.

Jedná se o stručný a čtivý soupis doporučení nezávislých odborníků, který můžete mít za pár minut vstřebán.

Ne se vším se plně ztotožňuji, nicméně jako inspirace to stojí za zkouknutí…

Optimalizace databázových dotazů – Execution plans – Slides, dema a záznam [WUG Praha 03/2013]

Slides a dema z přednášky pro WUG Praha z března 2013:

Záznam z přednášky najdete na našem YouTube Channel:

MVP Summit 2013 – Day 1 – ASP.NET – Notes

…non-NDA pracovní poznámky z Microsoft MVP Summitu 2013, první den, ASP.NET tématika.

Tooling

  • Web Essentials 2012 & ASP.NET and Web Tools 2012.2
    • super LESS editor (včetně generování minified verze, atp.)
      • Trik: pokud se soubor pojmenuje s podtržítkem na začátku, nekompiluje se do .css (hodí se např. pro include soubory s variables, které nemají mít vlastní .css výstup).
    • podstatně vylepšené Intellisense
    • spousta prima udělátek do webových editorů
    • ZenCoding – pozoruhodná syntaxe pro rychlopsaní kódu
    • code-snippets v .css

ASP.NET Core

  • Friendly URLs 1.0.0 – released live this morning
    • Adds a mobile master page and a view switcher user control to enable switching between mobile and desktop views using ASP.NET Friendly URLs.
  • ScriptManager.EnableCdnFallback
  • ControlBuilderInterceptor – cesta, jakou je možné ovlivnit C# code generovaný control-builderem z markup-kódu při compile-time
    • override OnProcessGeneratedCode()

Windows Azure Web Sites

  • Download Publish Profile – možnost stáhnout .PublishSettings z Azure Portalu pro Visual Studio

TF400917: The current configuration is not valid for this feature. This feature cannot be used until you correct the configuration.

Po změně procesní šablony TFS (změna šablony work item type), se při zobrazení backlogu nebo boardu v tfs web accessu začne zobrazovat chybová zpráva „TF400917: The current configuration is not valid for this feature. This feature cannot be used until you correct the configuration.“ V našem konkrétním případě se problém začal vyskytovat po zavedení nového stavu New k bugu, stav byl nastaven jako výchozí pro nové bugy.

Problém spočívá v chybějícím mapování v Common Process Configuration, které je třeba doplnit.

To se realizuje vyexportováním Common Process Configuration, doplněním potřebných stavů, a importem. Export a import se provede přes witadmin.exe exportcommonprocessconfig/importcommonprocessconfig.

Chyba 404 při přístupu na ASP.NET aplikaci v Classic managed pipeline modu na II7

Symptom

Pokud přepneme application pool do Classic managed pipeline mode a dostáváme podivnou chybu 404, jedná se velmi pravděpodobně o chybu

HTTP Error 404.2 - Not Found
The page you are requesting cannot be served because of the ISAPI and CGI Restriction list settings on the Web server.
Error Code 0x800704ec

Tuto podrobnější chybu se můžeme dozvědět, pokud přístup uděláme přímo ze browseru běžícím na serveru (což bohužel ne vždy lze, viz třeba problémy s lokální integrovanou authentizací).

Cause

Každopádně problém je v tom, že nejsou v nastavení IIS povoleny ISAPI extenze pro ASP.NET 4.0.

Action

  1. IIS Manager
  2. server level
  3. ISAPI and CGI restrictions
  4. u zakázaných ASP.NET 4.0 extenzí, které potřebujeme, nastavit Allow

Optimalizace databázových dotazů – Execution plans – Slides, dema, záznam [MS Fest 2012]

Slides a dema z přednášky na konferenci MS Fest Praha 2012:

Z přednášky byl pořízen obrazový záznam, který najdete na našem YouTube Channel:

Doporučuji též rozšířenou podobu přednášky, která byla v březnu 2013 realizována pro WUG Praha (opět včetně záznamu).

PerfView – ladění v 64-bit prostředí – NGen

PerfView je zajímavý nástroj od Microsoftu, který umožňuje neinvazivní profiling stroje, např. produkčního serveru, tím, že se přihlásí k odběru ETW událostí Windows.

Nevýhodou je, že .NET call-stacky jsou nepoužitelné, pokud profilujeme 64-bit .NET process.

Pomoci se tomu dá zkompilováním assembly/-ies pomocí NGenu:

D:\WebApp\bin>"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\ngen" install MyAssembly.dll /nodependencies /verbose

…NGenovat je potřeba všechny assembly, které nás ve vyhodnocení call-stacku zajímají.

U webového kontextu je potřeba recyklovat AppPool.

Pokud by NGen hlásil chybějící dependencies, lze to dohledat pomocí FusLogVw.exe.

Visual Studio: *.sqlproj is not supported by this version of application

Při otevírání solution ve Visual Studiu (2010 i 2012) s databázovým projektem (myšleno *.sqlproj) se zobrazuje hláška, že projekt nelze otevřít, protože není podporován aplikací.

Z SQL Serveru je třeba doinstalovat komponentu SQL Server Data Tools.

Instaloval jsem z SQL Serveru 2012, při příštím otevření Visual Studia se mi zobrazila nabídka ke stažení a instalace SQL Server Data Tools z internetu, kterou bylo třeba provést (a vypnout VS, jinak instalace neprojde).

Poté již lze pracovat se *.sqlproj projekty.

„StanPackage package did not load correctly“ při porovnání souborů ve Visual Studiu 2012

Stačí jednou otevřít (a zase zavřít) okno View – Other Windows – Code Analysis.

UPDATE: Problém se po pár týdnech vrátil. Zdá se, že problém způsobovala jedna z verzí Code Contracts, provedl jsem reinstalaci (repair) Visual Studia a reinstalaci Code Contracts na nejnovější verzi, problém opět zmizel.

Optimalizace výkonu webových aplikací – Slides, dema, záznam [WUG Praha 07/2012]

Slides a dema z přednášky pro WUG Praha v červenci 2012:

Z přednášky byl pořizován obrazový záznam, který je k dispozici na našem YouTube Channel: