gpt4 book ai didi

c# - 声明将由许多 WebMethod 函数使用的单个静态变量

转载 作者:行者123 更新时间:2023-11-30 19:57:23 25 4
gpt4 key购买 nike

我有一个 session 变量,我需要在具有许多 web 方法函数的 cs 页面上使用它。如果我如下声明它,我并不总是得到最新的变量。有时它会给我存储在最后一个变量之前的变量。我做错了什么?

public partial class uc_functions : MyBasePage
{
static string ucService = HttpContext.Current.Session["ucService"] as string;
....

[WebMethod] //1
[WebMethod] //2
[WebMethod] //3

最佳答案

当前,您正在初始化变量一次,当类首次加载时。您希望每个请求都有不同的值。

与其使用变量,不如使用属性或方法。例如:

private static string Service
{
get { return (string) HttpContext.Current.Session["ucService"]; }
}

或者在 C# 6 中:

private static string Service => (string) HttpContext.Current.Session["ucService"];

(顺便说一句,我回顾了 .NET naming conventions - 一个名为 uc_functions 的类让我不寒而栗......)

关于c# - 声明将由许多 WebMethod 函数使用的单个静态变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30237737/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com