Hibakeresés és Hibaelhárítás

Slides:



Advertisements
Hasonló előadás
Windows Virtualizáció
Advertisements

A program a „Tudáshasznosulást, tudástranszfert segítő eszköz-, és feltételrendszer kialakítása, fejlesztése a Műegyetemen” (TÁMOP /1/KMR )
Richter Elek Technikai terméktámogatási felelős Microsoft Magyarország.
A Windows Azure egy skálázható számításifelhő-platform, amelyet a Microsoft hosztol a világ több pontján lévő adatközpontjaiban. Az Azure egyszerű,
KEVESEBB FELÜGYELET ÚJ ÜZLETI MODELLEK NAGYOBB TERMELÉKENYSÉG.
... manapság BizSpark WebsiteSpark Empower for ISVs MAPS (Web Solutions Toolkit ) Microsoft Partner Network Regisztrált szintCertified és Gold Certified.
Licencelés Kovács Nóra Ker-Soft Kft.
Felhasználói felületek és üzleti logika Bollobás Dávid ASP.NET
Windows Vista, 2007 Office Rendszer, Exchange Server 2007 termékbejelentés Vityi Péter Ügyvezető igazgató Microsoft Magyarország kft.
Social Networking alkalmazás fejlesztése ASP.NET 3.5-tel Árvai Zoltán Consultant, Trainer Számalk Oktatóközpont.
„AZ IT MAGÁN ÉS NYILVÁNOS ÉLETE” Avagy hogyan születik a BI iránt igény az IT üzemeltetésben Benkovics Viktor Vezető tanácsadó Microsoft Magyarország –
Windows Azure Infrastruktúra és platform a felhőben
Essential Business Server 2008 Szentgyörgyi Tibor NetAcademia oktatóközpont A nagytestvér.
Lehetőségek, felhasználható eszközök, eddigi tapasztalatok
Felhasználói adatok és fiókok migrálása az (USMT) 4.0 segítségével
A Windows 7 automatizált telepítése Windows AIK használatával
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás II. 6. Gyakorlat const, static, dinamikus 2D.
JSP és JavaBean JavaServer Pages és Java Beans Fabók Zsolt Általános Informatikai Tanszék Miskolci Egyetem.
ASP.NET „röviden” Krizsán Zoltán ver: 0.2.
A CRM bevezetési projektek sajátosságai
Nagy Levente Szoftverfejlesztési Szakértő Microsoft Magyarország Munkafolyamatok a 2007-es Office Rendszerben.
Egy ISA szerver naplója Sárosi György Terméktámogatási Tanácsadó Microsoft Magyarország.
Egyszerű webes alkalmazás fejlesztése
Új technológiák a web alkalmazásokhoz Nacsa Sándor Fejlesztői és technológia programok Microsoft Magyarország Kft. NJSzT VIII. Országos Neumann-centenáriumi.
A felhő az üzleti vezető, a fejlesztő és az üzemeltető szemével A vállalati számító- központ kiterjesztése a felhőbe Biztonság és üzemeltetés a felhőben.
Lync 2010 újdonságok Microsoft Solution Partner Klub 2011 február 17 Szaniszló Tibor Termékmenedzser – Egységes Kommunikáció.
Ittzés Zsigmond Budapest Airport IT Infrastruktúra manager
Microsoft CRM online Strén András
Taletovics Márk Microsoft Magyarország. Mi van a csomagban?
Kőnig Tibor főmérnök Microsoft Magyarország
Optimalizálás Ez az előadó neve beosztása vállalata.
Rendelkezésre álló erőforrások pontos ismerete Kiosztott feladatok közel „valósidejű” követése Átláthatóság Tervezési folyamatok támogatása.
Budai Péter Szakmai és biztonsági vezető Microsoft Magyarország.
APEX BMF, II. félév.
3. előadás.  Apache szerver tudnivalók  Az index.php .htaccess – web-szerverünk beállításai  Konfigurációs állományok  Adatbázis kapcsolódás beállítása.
Web Architecture. Development of Computing Architectures Monolithic mainframe programming Client Server Real Client Server Web Programming.
Rugalmas, moduláris felépítés Rugalmas telepítés Jól tervezhető szerepkörök Folyamatos rendelkezésre állás Egyszerű felügyelet Elérés bárhonnan Postafiók.
A Microsoft Üzleti Intelligencia megoldása és platformja
Blog Fülöp Dávid MCT, MCPD Egy blog sémája Use Case-ek – Blog áttekintése – Egy blogpost megtekintése – Blogpost írása – Blogpost.
Illés Zoltán ELTE Informatikai Kar
Egy évtized eredményei - avagy mit adhat nekünk egy új platform?
Java web programozás 7-8..
Christopher Chapman | MCT Content PM, Microsoft Learning, PDG Planning, Microsoft.
Ismerkedés az Active Directory-val
Vállalati infrastruktúra, mely minden igényt kielégít Felhasználóbarát eszközök és élmények.
1 Setup Project készítése Szabadi Tamás
The information contained in this document represents the current view of Microsoft Corp on the issues discussed as of the date of publication. Because.
Kiss Tibor System Administrator (MCP) ISA Server 2006.
Csirmaz Péter MCP, MCTS, MCPD Turóczy Attila diái alapján: Harmadik nap.
Farkas Bálint | Technical Evangelist | Microsoft.
Az {SQL Server 2008} Integration Services és Analysis Services újdonságai
Híd a Windows folyón Balint Farkas Technical Evangelist Microsoft
Skype for Business bevezetés és alközponti összeköttetés kialakítása
Az Ön weboldala már Windows 10-kompatibilis?
Farkas Bálint | Technical Evangelist | Microsoft
TechReady 22 6/25/2018 © 2015 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
Blockchain…de mi hajtja?
Angular 2: Mi van a csokoládésdobozban?
WS16 TP4 újdonságok Gál Tamás Budapest Sysadmin Meetup
Tömegközlekedés, közszállítás Nagyváradon
A nagyváradi villamoshálózat modernizációjának finanszírozása
A nagyváradi villamoshálózat modernizációjáról
Microsoft Azure Marketplace & Microsoft Azure Certified program
9/8/2018 9:39 PM Despre modernizarea sistemului de transport public urban cu tractiune electrica Csuzi István director general ORADEA TRANSPORT LOCAL.
A nagyváradi villamosok megbízhatósági modellezése
CONNECTRA rendszer bevezetése
„Agilis-e vagy?” – egy váltókezelő naplója
HWSW Meetup – Felhő és ami mögötte van
Microsoft eszközpályázat
Build /24/2019 © 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION.
Előadás másolata:

Hibakeresés és Hibaelhárítás Ötödik nap Turóczy Attila diái alapján: Csirmaz Péter MCP, MCTS, MCPD

Beépített Debug lehetőségek Hibakövetés - Tracing Tematika Beépített Debug lehetőségek Hibakövetés - Tracing Webalkalmazás felügyelete - Monitoring Deployment és Cache

Debug bekapcsolása Web.config <configuration> <system.web> <compilation debug="true"> </compilation> </configuration> Visual Studio a projekt első futtatásakor rákérdez, hogy akarjuk-e aktiválni a debugger módot

Egyedi hibaoldalak beállítása Web.config <configuration> <system.web> <customErrors defaultRedirect="SiteErrorPage.aspx" mode="RemoteOnly"> </customErrors> </configuration>

Fontosabb Státuszkódok Státuszkód csoport Leírás 1xx Információs – Kérést fogadtuk 2xx Sikeres végrehajtás 3xx Átirányítás szükséges 4xx Kliens oldali hiba(syntax), vagy a szerver nem tudja értelmezni a kapott kérést 5xx Szerver oldali hiba, az egyébként érvényes kérés nem teljesíthető

Hibakód specifikus hibaoldalak beállítása Web.config <configuration> <system.web> <customErrors defaultRedirect="SiteErrorPage.aspx" mode="RemoteOnly"> <error statusCode="403" redirect="RestrictedAccess.aspx" /> </customErrors> </configuration>

Beépített Debug lehetőségek System.Diagnostics névtér Célszerű a Page_Load függvényben használni Debugger.Break() – Megállítja a kódot Debug.WriteLine(„”) – Outputra ír Debug.WriteIf(felétel) – Feltételes kiíratás Webalkalmazásnál is szükség van debuggolásra. Természetesen ezt is nagyon jól támogatja az ASP.NET 3.5 Debugger.Break() – Megállítja a kódot Olyan mint egy breakpoint

Debug példa

Beépített Debug lehetőségek Hibakövetés - Tracing Tematika Beépített Debug lehetőségek Hibakövetés - Tracing Webalkalmazás felügyelete - Monitoring Deployment és Cache

Jól jön ha beleakarunk nézni a kontextusunkba (értsd: debug++) Trace ASP.NET-ben Jól jön ha beleakarunk nézni a kontextusunkba (értsd: debug++) Engedélyezés: Web.config-ban Kézzel (System.Web szekcióba) Web Site Administration Tool-lal Hozzáférés: http://server/application/trace.axd

Trace beállítási lehetőségek Web.config beállítás Leírás Enabled Trace ki-be kapcsolása pageOutput Trace adatokat az aktuális oldal aljára dump-olja vagy ne? localOnly Csak a webszerverről (helyi gép) érkező kéréseknél van trace traceMode Idő vagy kategória alapú rendezés requestLimit Hány kérés információt tároljon a cache-ben mostRecent A legfrissebb kéréseket, (cache update) vagy a legrégebbieket tárolja? <trace enabled = ”true” mostRecent=”true” traceMode=”SortByTime” localOnly=”false” />

Trace szekciók Szekció Leírás Request Details Kérés információk Trace Info. Teljesítmény információk az életciklust illetően Control Tree Az oldalon található control-ok adatai (mérete stb..) Session State Session változók Application State Application változók Cookies Collections Cookiek gyűjteménye. Böngésző és Server között Headers Collection HTTP Headers Form Collection Elposztolt adatok QueryString Collection Url-ben levő változók Server Variables Minden szerver oldali változó

Beépített Debug lehetőségek Hibakövetés - Tracing Tematika Beépített Debug lehetőségek Hibakövetés - Tracing Webalkalmazás felügyelete - Monitoring Deployment és Cache

Monitoring Web.config <healthmonitoring> szekció <bufferModes/> Ha kötegelten szeretnénk naplózni <providers/> Megmondja hova kell naplózni <profiles/> Milyen esetben kell naplózni <rules/> Mikor, mit hova kell naplózni. Összefogja az egészet. <eventMappings/> Azok az eseményeket amiket naplózni kell Ha a webalkalmazásunk viselkedését nyomon szeretnénk követni akkor azt legegyszerűbben a beépített health monitoring-gal tehetjük meg. Ennek az a lényege, hogy definiáljuk a következőket a web.config <healthmonitoring> szekciójában. <healthMonitoring enabled="true"> <bufferModes/> Ha kötegelten szeretnénk naplózni <providers/> Megmondja hova kell naplózni (Eventlog, SQL …) <profiles/> Milyen esetben kell naplózni <rules/> Mikor, mit hova kell naplózni. Összefogja az egészet. <eventMappings/> Azok az eseményeket amiket naplózni kell </healthMonitoring>

Monitoring példa <healthMonitoring enabled="true"> <rules> <add name="All Errors Rule" eventName="All Errors" provider=„EventLogProvider" profile="Critical"/> </rules> </healthMonitoring>

Beépített Debug lehetőségek Hibakövetés - Tracing Tematika Beépített Debug lehetőségek Hibakövetés - Tracing Webalkalmazás felügyelete - Monitoring Deployment és Cache

Web Setup Project -> Windows Installer Webalkalmazások telepítése Egy szerverem van Copy – Paste Updatelni kell? Overwrite! Na és ha kell némi kontroll? Registry Előkövetelmények SMS Web Setup Project -> Windows Installer

Telepítés konfigurálása Telepítés indításának feltételei Project / View / Launch Conditions Search Target Machine Launch Conditions File Search Contitions FileName Folder Depth MinDate,MaxDate MinSize,MaxSize MinVersion, MaxVersion Property

Telepítése konfigurálása File Launch Conditions Condition InstallUrl Message

Telepítési feltételek konfigurálása VersionNT Version9x ServicePackLevel WindowsBuilD SystemLanguageID AdminUser PhysicalMemory IISVERSION WindowsBuild=2600 AND ServicePackLevel=1

Copy Website Tool Egyes fájlok másolása Teljes oldal másolása Egyes fájlok szinkronizálása Teljes oldal szinkronizálása NINCS VERZIÓ KEZELÉS!

Webalkalmazások előfordítása Allow This Precompiled Site To Be Updateable Use Fix Naming and Single Page Assemblies Enable Strong Naming On Precompiled Assemblies Allow Partially Trusted Caller

Caching Mi az a Caching? Két alapvetően különböző technika: Application Cache Page Output Cache Az alkalmazásunkat gyorsabbá tehetjük úgy is, ha a sokak által, sokszor használt adatokat a memóriába tároljuk. Az ASP.NET által támogatott technikák: Application Cache: Adathozzáférés költséget, toljuk be a memóriába Page Output Cache: Az egész oldalt húzzuk be a cache-be ha látogatott

Application Cache Adatokat a memóriába! A Cache osztály Ez egy gyűjtemény! Adatok beszúrása: Insert, vagy Add Adatok törlése: Remove Adatra való hivatkozás: Cache[”azon”] Mindenki ugyanahhoz a cache-hez fér hozzá Az Application Cache esetében a memóriában tárolhatunk olyan adatokat, melyek előállítása egyébként erőforrás igényes. Tipikusan az adatbázisban, fájlban tárolt, gyakran használt adatok lehetnek ilyenek. Megvalósítása a Cache osztállyal lehetséges.

A cache-ben lévő adat nem érvényes Veszélyforrások A cache-ben lévő adat nem érvényes Az adat nincs a cache-ben (valami eltüntette ) Fogy a memória Függőség miatt Érvényességi idő lejárta Az adatok memóriában való tárolásának vannak veszélyei is, ugyanis, ha valami törli az adatunkat, arról nem küld semmilyen információt.

Adat elhelyezése a Cache- ben I. Insert( kulcs, objektum); Függőség: Fájltól Másik cache-beli adattól Insert( kulcs, objektum, függőség ); new System.Web.Caching.CacheDependency( Server.MapPath( ”emberek.xml” ) ); Ahhoz, hogy cache-ben lévő adat mindig érvényes legyen, függőségeket határozhatunk meg, azok memóriában való elhelyezésekor. Vagyis megmondhatjuk a cache osztályunknak hogy törölje a memóriából az objektumot, ha egy fájl, adatbázis tartalma megváltozik, vagy egy másik cache beli objektum törlődik.

Adat elhelyezése a Cache- ben II. Érvényességi idő Abszolút idő DateTime.Now.AddMinutes( perc ) „Csúszóablakos” idő (utolsó használat óta eltelt) new TimeSpan( O, P, M ) Insert( kulcs, objektum, függ., abszolút, uhoe_idő); Az objektumunk-hoz érvényességi időt is rendelhetünk, amely lejártával a cache osztály törli azt a memóriából. Az érvényességi idő lehet abszolút, pl.: az elhelyezés után 2 perc után konyec, vagy csúszó idő, ami az utolsó használat óta eltelt időt jelenti. NoAbosoluteExpiration –enum

Adat elhelyezése - advaced Prioritás beállítása System.Web.Caching.CacheItemPriority Default High Low Törlődéskor esemény meghívása Callback függvény Insert(kulcs, objektum, függ., abszolútidő, csúszóidő, prioritás, callback fgv); Automatikus törléskor a kisebb prioritásúakat törli a GB. Elhelyezéskor az objektumunkhoz kapcsolhatunk metódust, amely a törlödésekor fog végrehajtódni.

Egyes lapokra: Egyszerű Page Output Cache <%@ OutputCache Duration= ”60” VaryByParam= ”None” %> A Page direktíva után kell felvenni az OutputCache direktívát, melynek legegyszerűbb formája a következő Duration az cache-ben töltendő idő másodpercekben VaryByParam = None erről mindjárt részletesen is beszélek. Ezt a formát használva, a lapra vonatkozó első kérés után a lefordított lap másolata bekerül a cache-be és jó esetben 60 másodpercig, minden kérést innen szolgálnak ki. Ez statikus weblapoknál tökéletes, de mi van akkor ha a lap tartalma a felhasználó inputjától függ? Például van egy oldal, ahol egy legördülő listából ki tudom választani, hogy melyik város térképét szeretném megnézni, kiválasztom Szolnokot, erre Budapestet mutat nekem, csak azért mert az első kérésnél a csóka erre volt kiváncsi és ez került be a cache-be. Hogy lehet ezen segíteni?

Több verzió a cache-ban <%@ OutputCache Duration= ”60” VaryByParam= ”Varos; TextBox1” %> A VaryByParam-ba felsorolhatunk paramétereket. Ebben az esetben a Cache-be annyiszor kerül be a lap másolta, ahány különböző értéke van ezeknek a paramétereknek. Az előző példánknál maradva érkezik egy kérés Budapestre, a lefordított lap bekerül a cache-be, majd ezután minden BP-re vonatkozó kérés innen kerül kiszolgálásra, ha jön egy Szolnok, megnézi hogy van-e szolnokos a cache-be, ha nincs lefordítja, elküldi, elhelyezi a cach-ben.

<%@ OutputCache Hová pakoljuk a másolatokat? Duration= ”60” VaryByParam= ”Varos” Location= ”Server” %> Server, ServerAndClient, None, Any, Client Arra is képesek vagyunk, hogy meghatározzuk, hol legyen a lapunk cach-elve

Futás idejű beállítások Példák: Response.Cache.SetExpires(DateTime.Now.AddSeconds(60)); Response.Cache.SetCacheability(HttpCacheability.Server); Response.Cache.VaryByParams[”Varos”]=true;

Az alkalmazás összes lapjára (Web.config) <caching> <outputCacheSettings> <outputCacheProfiles> <add name="OneMinuteProfile" enabled="true" duration="60"/> </outputCacheProfiles> </outputCacheSettings> </caching> Lapokon <%@ OutputCache CacheProfile="OneMinuteProfile" VaryByParam="none" %>

© 2006 Microsoft Corporation. All rights reserved © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.