Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/292.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.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 Mvc - Fatal编程技术网

C# 在控制器操作之间传递数据

C# 在控制器操作之间传递数据,c#,asp.net-mvc,C#,Asp.net Mvc,嗨,我找不到在一个控制器内的动作方法之间传递数据的方法。简化的代码示例如下所示: public class HomeController : Controller { int latestID; // GET: Home public ActionResult Index() { latestID = 50000; return View(); } // GET: Generate public Acti

嗨,我找不到在一个控制器内的动作方法之间传递数据的方法。简化的代码示例如下所示:

public class HomeController : Controller
{
    int latestID;

    // GET: Home
    public ActionResult Index()
    {
        latestID = 50000;
        return View();
    }

    // GET: Generate
    public ActionResult Generate()
    {
        // using the latestID here 
        return View();
    }
}

当应用程序启动且
latestID
设置为50000时加载索引。但当我单击映射到API GET request Generate的按钮时,
latestID
突然为空。我试图实现TempData和Session,但没有成功。任何帮助都将不胜感激

我觉得这里有两种可能性,即检索的值是针对使用网站的所有用户的用户会话或其全局会话

如果该值是特定于用户的,则可以通过会话阶段管理(如Viewbag)对其进行管理。或者,如果期望仅在服务器端维护该值,则需要通过数据库或内存缓存等持久性机制再次检索该值


如果该值在使用网站的所有用户中都是通用的,那么可以通过单例对象的依赖项注入来实现(这可以是数据库管理器或缓存管理器,也可以是简单的内存对象)。静态对象也可以使用,但并不理想,因为应用程序不支持跨实例的水平可伸缩性

@SamvelPetrosov从未使用在web应用程序中存储用户数据的
静态
。@code未发现在这个问题中没有一行是他在最新版本中存储用户数据
最新版本
?它是否包含用户的数据?更多细节可能会帮助您获得最佳实践。好的。但是为什么需要将其存储在Web应用程序中呢?我是说当你拿到身份证的时候你怎么用?如果我们有答案,我可能会帮你一个好的做法,因为像你想做的那样存储数据库Id是一个糟糕的做法。网络是无状态的。每次发出请求时,控制器的一个新实例将被初始化(并且
latestID
将被初始化为其默认值)。在
Index
方法中为它设置一个值是没有意义的,因为一旦方法完成,它就会被释放