使用WebMethods和会话时的最佳实践

5

我想在我的一个应用程序页面中减少postback并改用ajax。我使用WebMethod来实现这个目的。我有一个需要访问会话变量并进行修改的静态WebMethod。在客户端,我使用jQuery调用此方法。我尝试通过以下方式访问会话:

[WebMethod]
    public static void TestWebMethod()
    {
        if (HttpContext.Current.Session["pitems"] != null)
        {
            log.Debug("Using the existing list");
            Product prod = (Product)HttpContext.Current.Session["pitems"];
            List<Configs> confs = cart.GetConfigs();
            foreach (Configs citem in confis)
            {
                log.Info(citem.Description);
            }


        }
        log.Info("Inside the method!");
    } 

这些值被正确地显示并且似乎运行良好。但我想知道这种做法是否被允许,因为该方法是静态的,并且想知道如果多人访问应用程序它会如何运作。

如果这不是正确的方法,我也想知道开发人员在ASP中如何执行这些任务。

感谢您提供建议和想法,
Abdel Olakara

1个回答

4

静态方法是完全安全的。有些人遇到的问题只出现在静态字段上,因为它们确实在同一个进程中共享。

我认为你的方法是解决这个问题的好办法。这正是Web方法的用途所在。


谢谢您的回复。让我们看看其他人对此有什么看法。 - Abdel Raoof Olakara

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接