1. Aplikační události (skripty)

    Č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');
    }

×