我正在写一个ASP.Net MVC应用程序使用Jquery发布一些数据到我的用户会话。JQuery发布到MVC方法会话变量消失
用户访问第一个我的网站的页面,然后我有一个按钮,它利用jQuery来的MVC控制器的方法来存储一些数据到用户会话的职务。
当初始页面加载时,我使用会话工厂为我的用户创建会话对象。这工作正常。作为对我的页面的初始请求的一部分,我将一个名为JoinState的对象放入我的会话中 - 对于任何后续请求,这个对象都必须存在。
当用户点击网页上的按钮,JQuery的柱被执行以将数据添加到JoinState对象。这发布到一个MVC控制器方法,该方法访问已定义的会话并使用发布的数据更新JoinState对象。
但是,当帖子发生时,我的应用程序无法识别创建的初始会话。这导致“对象未设置为实例....”(基本上为空引用异常),因为已定义的JoinState对象现在不存在。
我只是不知道为什么会发生这种情况。到目前为止我所做的工作如下:
- 它只影响从我的网络外部访问站点的用户。
- 我网络内的用户不受影响。
- url名称是一个动态DNS名称 - 这可能会影响.net看到会话的方式吗?
- 我用firebug来调试POST请求,并且可以确认ASP.Net会话cookie正在发送。
出于某种原因,在我的JQuery发布我的原始会话无法识别。
在此先感谢。
可能,但我有点认为它可能会复制一个标准形式的帖子。它似乎发送所有会话标识(例如cookie)。如果以后尝试将其更改为GET请求,看看是否有所作为。我唯一能想到的其他事情是POST URL被修改了,或者当它通过一个动态DNS运行时,它的修改导致ASP.Net找不到原始会话。 – Remotec 2010-01-08 11:08:50