Rhino Commons UnitOfWork 和 ASP.NET MVC Controller 似乎正在缓存参数
我在我的控制器方法中使用 Rhino Commons UnitOfWork。 第一个请求检索数据并正确显示。 我的问题是,当我更改 URL 中的参数时,它们不会传递到控制器。 使用先前请求的值。
我的控制器方法如下所示:
public ActionResult List(int year, int? month, int? day)
{
IList<Meeting> meetings;
using (UnitOfWork.Start()) {
meetings = _meetingRepository.GetByDate(year, month, day);
}
return View("List", meetings);
}
Global.asax.cs 继承自 UnitOfWorkApplication
对 ~/meetings/2009 的初始请求返回 2009 年的所有会议。 对 ~/meetings/2007 的下一个请求将返回 2009 年的所有会议。
在 Visual Studio 中进行调试时会发生这种情况。 我还没有机会转到IIS看看是否出现同样的问题。
我在使用 UnitOfWork 时是否做错了什么,或者可能是其他地方的问题?
I am using Rhino Commons UnitOfWork in my controller methods. The first request retrieves the data and displays it correctly. My problem is when I change the parameters in the URL they are not passed to the controller. The values from the previous request are used.
My controller method is listed below:
public ActionResult List(int year, int? month, int? day)
{
IList<Meeting> meetings;
using (UnitOfWork.Start()) {
meetings = _meetingRepository.GetByDate(year, month, day);
}
return View("List", meetings);
}
The Global.asax.cs inherits from UnitOfWorkApplication
The initial request to ~/meetings/2009 returns all meetings for the year 2009.
The next request to ~/meetings/2007 returns all meetings for the year 2009.
This is occuring while debugging in Visual Studio. I have not had a chance to move to IIS to see if the same problem occurs.
Am I doing something wrong in my use of UnitOfWork, or could it be a problem somewhere else?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我的猜测是,整个 UnitOfWork 的事情是一个转移注意力的事情......从以前的请求传递值的控制器听起来像是控制器的同一个实例被重新用于多个请求。 ASP.NET MVC 框架的工作原理是假设每个请求都由控制器的新实例处理。
那么,考虑到这一点,您将如何构建控制器? 例如,如果您使用的是 Spring.NET 等 IoC 框架,请确保您的控制器不是单例。
My guess is that the whole UnitOfWork thing is a red herring... The controller being passed values from previous requests sounds like the same instance of the controller is being re-used for multiple requests. The ASP.NET MVC framework works under the assumption that each request is handled by a fresh instance of the controller.
So, with that in mind, how are you constructing your controllers? For example if you're using a IoC framework like Spring.NET make sure your controllers are not singletons.