コード例 #1
0
ファイル: WebYardımcısı.cs プロジェクト: emrahshn/Provent
 protected virtual bool GlobalAsaxYazmayıDene()
 {
     try
     {
         File.SetLastWriteTimeUtc(GenelYardımcı.MapPath("~/global.asax"), DateTime.UtcNow);
         return(true);
     }
     catch
     {
         return(false);
     }
 }
コード例 #2
0
ファイル: WebYardımcısı.cs プロジェクト: emrahshn/Provent
 protected virtual bool WebConfigYazmayıDene()
 {
     try
     {
         // Orta güvenlikte, "UnloadAppDomain" desteklenmez.
         // AppDomaini yeniden başlatmayı deneyin.
         File.SetLastWriteTimeUtc(GenelYardımcı.MapPath("~/web.config"), DateTime.UtcNow);
         return(true);
     }
     catch
     {
         return(false);
     }
 }
コード例 #3
0
        public T Sorgu <T>(string ad)
        {
            if (!İstekErişilebilir())
            {
                return(default(T));
            }

            if (StringValues.IsNullOrEmpty(_httpContextAccessor.HttpContext.Request.Query[ad]))
            {
                return(default(T));
            }

            return(GenelYardımcı.To <T>(_httpContextAccessor.HttpContext.Request.Query[ad].ToString()));
        }
コード例 #4
0
ファイル: WebYardımcısı.cs プロジェクト: emrahshn/Provent
        public T Sorgu <T>(string ad)
        {
            string sorguDeğeri = null;

            if (İstekErişilebilir(_httpContext) && _httpContext.Request.QueryString[ad] != null)
            {
                sorguDeğeri = _httpContext.Request.QueryString[ad];
            }

            if (!String.IsNullOrEmpty(sorguDeğeri))
            {
                return(GenelYardımcı.To <T>(sorguDeğeri));
            }

            return(default(T));
        }
コード例 #5
0
ファイル: WebYardımcısı.cs プロジェクト: emrahshn/Provent
        public void AppDomainYenidenBaşlat(bool yönlendir = false, string yönlendirmeUrlsi = "")
        {
            if (GenelYardımcı.GüvenSeviyesiAl() > AspNetHostingPermissionLevel.Medium)
            {
                //Tam güvenlik
                HttpRuntime.UnloadAppDomain();

                GlobalAsaxYazmayıDene();
            }
            else
            {
                //Orta sevşye güvenlik
                bool başarılı = WebConfigYazmayıDene();
                if (!başarılı)
                {
                    throw new TSHata("Yapılandırma değişikliği yüzünden yeniden başlatılmalı ancak bunu yapamadı." + Environment.NewLine +
                                     "Gelecekte bu sorunu önlemek için web sunucusu yapılandırmasında bir değişiklik yapılması gerekiyor:" + Environment.NewLine +
                                     "- Uygulamayı tam güven ortamında çalıştırın veya" + Environment.NewLine +
                                     "- 'web.config' dosyasına uygulama yazma erişimi verin.");
                }
                başarılı = GlobalAsaxYazmayıDene();

                if (!başarılı)
                {
                    throw new TSHata("Yapılandırma değişikliği yüzünden yeniden başlatılmalı ancak bunu yapamadı." + Environment.NewLine +
                                     "Gelecekte bu sorunu önlemek için web sunucusu yapılandırmasında bir değişiklik yapılması gerekiyor:" + Environment.NewLine +
                                     "- Uygulamayı tam güven ortamında çalıştırın veya" + Environment.NewLine +
                                     "- 'Global.asax' dosyasına uygulama yazma erişimi verin.");
                }
            }

            // If setting up extensions/modules requires an AppDomain restart, it's very unlikely the
            // current request can be processed correctly.  So, we redirect to the same URL, so that the
            // new request will come to the newly started AppDomain.
            if (_httpContext != null && yönlendir)
            {
                if (String.IsNullOrEmpty(yönlendirmeUrlsi))
                {
                    yönlendirmeUrlsi = SayfanınUrlsiniAl(true);
                }
                _httpContext.Response.Redirect(yönlendirmeUrlsi, true /*endResponse*/);
            }
        }