Public Static Vars彼此覆盖并关闭请求

时间:2018-08-03 10:05:09

标签: c# razor

我有一个微型网站结构。我正在使用公共静态变量通过使用HTTP QueryString更改其内容。我在App_Code中定义了许多公共变量。但是许多用户的快速关闭请求,公共静态vars值相互覆盖,而微型站点内容可能对QueryString值是错误的。我在包含的cshtml文件的某些部分中使用了全局vars

App_Code

public class MyCommonClass
{
    public static string SitePrefix { get; set; }

    public static void SetSitePrefix(string _Prefix)
    {
        MyCommonClass.SitePrefix = _Prefix;
    }

    public static void ConfigureSite()
    {
        string _QsPrefix = string.IsNullOrWhiteSpace(HttpContext.Current.Request.QueryString["stx"]) ? "" : HttpContext.Current.Request.QueryString["stx"];
        MyCommonClass.SetSitePrefix(_QsPrefix);
    }

}

settings.cshtml

@{
    if(MyCommonVars.SitePrefix == "foo")
    {
        Response.Write("Opps");
    }

}

index.cshtml

 @RenderPage("settings.cshtml")
 @RenderPage("head.cshtml")
 @RenderPage("body.cshtml")
 @RenderPage("bottom.cshtml")

body.cshtml

@{
    Response.Write(MyCommonVars.SitePrefix);
}

我想在settings.cshtml的首页上定义vars,我只想在当前http请求页面的所有cshtml文件中使用它。

0 个答案:

没有答案