在webapi和控制器之间共享数据?

时间:2016-07-27 03:48:18

标签: asp.net .net asp.net-mvc asp.net-mvc-5 asp.net-web-api2

我正在为客户开发一个新的应用程序,但我仍然遇到了用户的请求。

应用程序是一个带引导程序的简单Web,应用程序显示几页并使用webapi执行与服务器的数据交互。到目前为止一切顺利。

客户端要求我创建一种方法来保存用户为整个会话执行的搜索。因此,如果当前会话中的客户端确实浏览了同一页面,则会将搜索重新加载到页面中。

我认为当它在会话中遇到webapi时序列化搜索,或者将它保存在tempdata中会很棒。

但是我知道webapi是会话较少的,我可以用这个激活它:

protected void Application_PostAuthorizeRequest()
{
   if (IsWebApiRequest())
   {
      HttpContext.Current.SetSessionStateBehavior(SessionStateBehavior.Required);
   }
}

但我想要的是有人指出我这是实现这一目标的最佳途径。

任何建议都将受到赞赏。

此致

1 个答案:

答案 0 :(得分:0)

我知道这是一篇旧帖子,但我注意到即使为WEB API返回了会话ID,每个请求也会有所不同。您是否知道可以使WEB API会话ID保持一致的方式。我有一个有BOTH MVC和WEB API的应用程序。在MVC中,会话ID是一致的,但在WEB API中则不然。