任务非常特别。我们知道asp.net mvc为每个请求创建控制器的新实例。目标是写一个类继承Controller包含一些数据并创建一次然后用于每个请求。例如: 我们有一个班级:
public class UserWorkspaceController : Controller
{
public SomeDataClass UserData;
public List<string> AnotherData;
public ActionResult Index()
{
return View();
}
/// another methods here
}
另一件事。我们有这样的事情:
public static class UserWorspacesStorage
{
public static Dictionary<string, UserWorkspaceController> storage = new Dictionary<string, UserWorkspaceController>();
public static UserWorkspaceController GetUserWorkspace(string someCookeString)
{
UserWorkspaceController requested;
if (!storage.TryGetValue(someCookeString, out requested))
{
requested = new UserWorkspaceController();
storage.Add(requested);
}
return requested;
}
}
因此。如您所知,我们需要使用一些cookie字符串(键)然后向控制器请求静态类以获取此键。如果在dictionnary中找不到它,它将被创建并放入字典中。在下一个请求中,将从字典中提取控制器。
你可能会问为什么? :) 目标是将“迁移”存在的WinForms应用程序迁移到Web(asp.net mvc)。因此,如果我的想法成为可能,那将很容易解决任务! 感谢。