Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 一次只能有一个用户登录_C#_Asp.net - Fatal编程技术网

C# 一次只能有一个用户登录

C# 一次只能有一个用户登录,c#,asp.net,C#,Asp.net,我有一个类声明,公共抽象类companyhtpapplication:HttpApplication 在公司的应用程序中我有 public static CompanyHttpApplication Current { get { return (CompanyHttpApplication)HttpContext.Current.ApplicationInstance; } } 及 它获取最后登录的用户。我理解为什么(因为它在应用程序中而不是在会话中),但我不知道如何更改它。如何更改

我有一个类声明,
公共抽象类companyhtpapplication:HttpApplication

公司的应用程序中
我有

public static CompanyHttpApplication Current
{
    get { return (CompanyHttpApplication)HttpContext.Current.ApplicationInstance; }
}


它获取最后登录的用户。我理解为什么(因为它在应用程序中而不是在会话中),但我不知道如何更改它。如何更改它,使其使用会话而不是应用程序?

这是一个。你需要告诉我们你正在努力完成什么,而不是向我们展示你所做的。例如,你可能会说,我如何存储每个用户的值,或者如何通过用户上下文访问应用程序变量。我希望我能解释得更好,但这是我能做的最好的了。这不是我的计划,但我负责。计划部署该程序,现在出现了此错误。我不知道为什么它会存储在应用程序状态,我在这方面也没有任何经验,我正在尝试尽可能少地修改代码,因为我在游戏的这一点上无法进行任何彻底的设计更改。我只是想让它保持原样,但只使用会话而不是应用程序状态。您能将User.Identity.Name更改为Page.User.Identity.Name吗?我假设这是针对asp.net网页或应用程序执行的
public CompanyProfileInfo Profile
{
    get
    {
        return profile ?? (profile = ProfileManager
            .FindProfilesByUserName(ProfileAuthenticationOption.Authenticated,
                 User.Identity.Name).Cast<CompanyProfileInfo>().ToList().First());
    }

    private set { profile = value; }
}
CatapultHttpApplication.Current.Profile.UserName