【问题标题】:How Can I Make Static Variable Working In Publish Mode In iis7?如何在 iis7 中使静态变量在发布模式下工作?
【发布时间】:2014-11-17 18:00:05
【问题描述】:

在我作为 Asp.net Mvc 4.5 的项目中,我制作了静态字符串列表。在此列表中添加字符串变量此列表在运行 Visual Studio 时在调试模式下工作,但在发布时不起作用 这是我的代码

当我从不同的浏览器发布和打开这个视图时看到的不是从打开这个视图的其他浏览器插入的数据

ex> 在 chrom 中打开并将 str 变量设置为 1 然后 2 我会在 chrom 1 然后 2 中看到

当获取 url 并在不同的浏览器中重新打开时,如 firefox 看不到 1 , 2 这是我需要看到的

public static class GetOnLineUser
    {
        public static List<string> NewList;
        public static string StaticList(string str)
        {
            if(NewList==null)
                NewList = new List<string>();
            var sp = new StringBuilder();
            if (!NewList.Contains(str) && !string.IsNullOrEmpty(str))
                NewList.Add(str);
            if (NewList != null && NewList.Count > 0)
            {
                foreach (var st in NewList)
                {
                    sp.Append(st);
                    sp.Append("<br/>");
                }
            }
            return sp.ToString();
        }
    }


public class TestStController : Controller
    {
        //
        // GET: /TestSt/
        public string Index(string str)
        {
            return GetOnLineUser.StaticList(str);
        }
    }

【问题讨论】:

  • “但何时使发布不起作用”并没有告诉我们您所看到的任何信息。一方面,您的代码当然不是线程安全的,而且还不清楚您希望它完成什么……但是您在观察什么?这里真正的问题是什么?
  • 当我从不同的浏览器发布和打开这个视图时看到的内容没有从打开这个视图的其他浏览器插入数据>当在 chrom 中打开并将 str 变量设置为 1 然后 2 我会看到chrome 1 然后 2 当获取 url 并在不同的浏览器中重新打开时,如 firefox 看不到 1 , 2 这是我需要看到的
  • 那么您在 Firefox 中看到了什么? (顺便说一句,您可能要考虑使用string.Join...并考虑线程安全...)
  • 您主要关注线程安全。我需要的所有东西都像存储变量一样 list 在它上面添加值并在不同的浏览器中为所有登录用户获取所有内容
  • 您正在编写一个 Web 应用程序。它是自动多线程的。

标签: c# asp.net-mvc-3 asp.net-mvc-4 razor


【解决方案1】:

此问题是因为此站点在服务器上处于发布模式的 iis 应用程序池中的配置。 修复它打开 Iis 并为此站点选择应用程序池。然后打开此应用程序池的高级设置。并从显示面板中选择 [Process Model] 并设置 [User Profile] = False 此配置使任何静态变量都适用于我

【讨论】:

  • 从您发布的问题或答案中确实不清楚实际问题是什么,或者修复实际完成了什么。由于您对每个单词都使用了大写字母,因此也很难阅读此答案。
猜你喜欢
  • 2012-08-08
  • 1970-01-01
  • 2019-03-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多