【问题标题】:How can i assign and maintain values to session variables如何为会话变量分配和维护值
【发布时间】:2015-03-17 01:44:17
【问题描述】:

我在我的应用程序窗口应用程序中使用 Web 浏览器控件。他们是否有可能通过我的应用程序设置或更改会话值?是否可以从 Windows 应用程序创建或销毁会话?

在 Web 应用程序中,我可以使用以下方法创建会话:

 session("user")="loginUSer"

在 vb.net 应用程序中是否有任何类似的过程可用?

【问题讨论】:

  • 如果您想找出 WinForms 中会话变量的等价物,请查看以下答案之一。如果您尝试修改包含在 webbrowser 控件中的会话变量,请查看此处:stackoverflow.com/questions/21579997/…

标签: c# asp.net vb.net winforms session


【解决方案1】:

Windows 应用程序中不需要“会话状态” - 您可以根据需要在内存中存储尽可能多的状态。您不能直接从您的 Windows 应用程序中设置或删除 Web 应用程序的会话状态值,但如果您可以访问这两者的代码,您可能会很狡猾并且拥有一个“隐藏”页面您将值传递给查询字符串以设置或删除会话状态,即'http://mysite/sessionpage?variable=value'。这有意义吗?

【讨论】:

    【解决方案2】:

    windows窗体中没有Session的概念。您可以创建一个静态类。然后在你想登录的时候给它的变量赋值。

    Public static class login
    {
      public static string userId {get; set;}
    }
    
    login.userId = txtuserID.Text;
    

    并在注销期间设置为 null 或空字符串。

    你可以像在 C#.net 中设置和删除会话变量

    Session["UserID"] = UserID;
    Session.Remove("UserID"); or  Session["UserID"] = null;
    

    在 VB.Net 中

    Session("UserID") = UserID
    Session.Remove("UserID") or Session("UserID") = Nothing
    

    【讨论】:

    • 那不是login.userId = txtuserID.Text; - 如果他在login 类之外访问它?
    猜你喜欢
    • 1970-01-01
    • 2011-05-20
    • 2013-06-24
    • 2012-03-08
    • 1970-01-01
    • 2011-12-05
    • 1970-01-01
    • 2017-12-03
    • 2016-05-10
    相关资源
    最近更新 更多