来自业务对象的Access Controller Context / TempData
我正在尝试构建一个可以交换的session / tempdata提供程序。默认提供程序将在asp.net mvc之上工作,它需要从业务对象类访问.net mvc TempData。我知道tempdata可以通过控制器上下文获得,但我似乎无法找到是通过HttpContext或其他东西暴露的。我真的不想将Controller上下文作为参数传递,因为这会稀释我的接口定义,因为只有基于asp.net的会话提供程序需要这个,其他(使用NoSQL DB等)不关心Controller Context。
为了进一步澄清,在这里添加更多代码。我的ISession界面看起来像这样。当此代码进入生产时,session / tempdata预计可以使用NoSql db。但我也希望有另一个实现在asp.net mvc session / tempdata之上,以便我的开发测试等。
公共接口ISession
{
T GetTempData<T>(string key);
void PutTempData<T>(string key, T value);
T GetSessiondata<T>(string key);
void PutSessiondata<T>(string key, T value);
}
没有找到相关结果
已邀请:
1 个回复
昧伎
所以你可以让你的业务对象把它作为参数或使用构造函数注入。然后,您可以让控制器将TempData作为参数传递给业务对象。通过使用字典界面,您的业务对象不再依赖于ASP.NET MVC。