Článek: AN0002156Aktualizováno:: 27.03.2019
Aplikační události umožňují skriptem reagovat na spuštění aplikace, přihlášení uživatele a další události.
Událost Po startu aplikace
Tato událost je spuštěna po spuštění aplikace a její inicializaci. V tomto okamžiku je vše již nakonfigurováno a modely jsou načteny.
Během dne se může vyskytnout několikrát - pokaždé, když aplikaci restartujete vy nebo IIS. K události dále dochází změnou souboru web.config či po vytvoření a smazání souboru app_offline.htm.
V příkladu je ukázka, jak nastavit v události routování (převzato z modelu Verzovaná dokumentace).
var m = OG.Model.GetByCode('vcd');
var cp = OG.ContentPage.GetAll().GetByCode(m.Id, 'article');
var r = OGRoute.Create('vcd_an_v', 'vcd/{lang}/an/{an}/v/{version}', '~/WebContentpage.aspx');
r.AddPar( 'id', cp.Id.ToString());
r.AddPar( 'version', '');
r.AddPar( 'lang', '');
r.Use();
Událost Po přihlášení uživatele
Událost se spustí pro každého uživatele, když si v prohlížeči zobrazí systém ObjectGears. V tom okamžiku se mu vytvoří session a spustí se tato událost.
Událost Po výskytu chyby
Událost je spuštěna po každém výskytu chyby. Událost můžete využít ke zpracování chyby, přesměrování na jinou stránku a podobně.
Příklad ukazuje zachycení chyby a přesměrování na novou stránku. Příklad je převzat z modelu Verzovaná dokumentace, kde původní dokumentace byla na stránce Help.aspx. V nové verzi je dokumentace na adrese VCD/en-us/... Aby vše fungovalo i pro požadavky přicházející ze starších verzí aplikace a odkazujících se na původní adresu, musíme provést přesměrování. V přesměrování je zároveň použit příznak pro trvalé přesměrování (OGErrorInfo.RedirectPermanent). To je vhodné provést pro vyhledávače, aby vás nepenalizovali za přesměrování požadavku.
if ( OGErrorInfo.IsInvalidPage && OGErrorInfo.Request.Url.AbsolutePath.ToLower().Contains('help.aspx'))
{
OGErrorInfo.RedirectPermanent = true;
OGErrorInfo.RedirectToUrl = './vcd/en-us/' + OGErrorInfo.Request.QueryString['h'] + '/v/1.7.1.0/';
}
Událost Na začátku webového požadavku
Událost je spuštěna při každém webovém požadavku. V okamžiku spuštění události ještě není v požadavku uživatel autentizován.
V příkladu je ukázka přesměrování uživatele z adresy www.mojeadresa.cz na www.mojeadresa.cz/vcd (z výchozí stránky na stránku VCD). Výchozí stránkou systému Objectgears je stránka default.aspx. Příklad je převzat z modelu Verzovaná dokumentace.
//presmerovani z default.aspx na VCD
var url = System.Web.HttpContext.Current.Request.Url.AbsolutePath.ToLower();
if (url == '/' || url == '/default.aspx')
{
System.Web.HttpContext.Current.Response.Redirect( OG.GetWebUrl() + 'vcd');
}