JQuery发布到MVC方法会话变量dissapear
我正在编写一个ASP.NETMVC应用程序,使用Jquery将一些数据发布到我的用户会话中 用户首先访问我的站点页面,然后我有一个按钮,该按钮使用JQuery向MVC控制器方法执行post,以将一些数据存储到用户会话中 加载初始页面时,我使用会话工厂为用户创建会话对象。这个很好用。作为对我的页面的初始请求的一部分,我将一个名为JoinState的对象放入我的会话中——对于任何后续请求,该对象都必须就位 当用户单击页面上的按钮时,将执行JQuery post向JoinState对象添加数据。这将发布到一个MVC控制器方法,该方法访问已定义的会话,并使用发布的数据更新JoinState对象 但是,当发布时,我的应用程序无法识别创建的初始会话。这会导致“对象未设置为实例…”(基本上是空引用异常),因为已定义的JoinState对象现在不存在 我就是搞不懂为什么会这样。到目前为止,我的计算结果如下:JQuery发布到MVC方法会话变量dissapear,jquery,asp.net-mvc,session,post,Jquery,Asp.net Mvc,Session,Post,我正在编写一个ASP.NETMVC应用程序,使用Jquery将一些数据发布到我的用户会话中 用户首先访问我的站点页面,然后我有一个按钮,该按钮使用JQuery向MVC控制器方法执行post,以将一些数据存储到用户会话中 加载初始页面时,我使用会话工厂为用户创建会话对象。这个很好用。作为对我的页面的初始请求的一部分,我将一个名为JoinState的对象放入我的会话中——对于任何后续请求,该对象都必须就位 当用户单击页面上的按钮时,将执行JQuery post向JoinState对象添加数据。这将发
- 它只影响从我的网络外部访问站点的用户
- 我的网络中的用户不受影响
- url名称是动态dns名称-这会影响.net查看会话的方式吗
- 我已经使用firebug调试POST请求,并且可以确认正在发送ASP.Net会话cookie
提前感谢。我不确定这一点,但我认为jQuery帖子就像调用web服务一样,因此不会引用您的对象 您需要传回会话密钥或其他内容,以便加载它,然后添加到其中 所有这些都是我不知道的,完全没有经过测试
如果我错了,请告诉我,我将进行一些测试,可能会删除此答案,以免混淆问题。如果url名称是动态的,则ASP.Net发布的会话cookie在url名称更改时无效,因此您将失去与现有会话的连接。
您可以将网站配置为无cookie会话,但必须检查是否需要手动附加会话密钥查询字符串变量。好的,,,,,问题现在已解决
- 与MVC无关
- 与JQuery无关
- 我没有完全理解asp.net中的会话状态
- 在本地Web开发服务器上工作
- 应用程序移动到IIS并停止工作
- 正在使用InProc会话
- IIS中已设置1以上的工作进程
- 不要弄乱你不懂的IIS设置李>
睡觉时间到了-感谢所有回复的人。可能吧,但我认为这可能会复制一个标准的表单帖子。它似乎发送所有会话标识(例如cookies)。我稍后会尝试将其更改为GET请求,看看这是否会有所不同。我能想到的另一件事是,POST url正在以某种方式被修改,或者,当它通过动态dns运行时,它被修改,导致ASP.Net找不到原始会话。