1

我有一个“在我的机器上工作”的情况。

我有一个网站,我将会话值从一个页面传递到另一个页面

Session["foo"] = 'blah';

并在第 2 页

var foo = Session["foo"];

foo 在 page2 上不存在。

在跟踪页面时,我发现它使用了与原始页面不同的 sessionid。在 Session_start 上放置断点时,看起来对于每个请求,页面都在开始一个新会话。

这不会发生在我的机器上......关于我可以做些什么来解决其他机器的想法?

  • SessionState 是 InProc

  • Page1.aspx 和 Page2.aspx 都是同一个网站的一部分,并且

  • 隐私设置为接受目标机器上的所有 cookie。

编辑:在我的机器上运行和目标之间的区别在于我在本地使用http://localhost/blah而在 XX_0001 是我的机器的另一个客户端使用 http ://XX_0001/blah

4

3 回答 3

1

好吧,我想我已经找到了解决方案:

看起来我的机器名称中的 _ 导致了这个问题。似乎主机名不允许下划线: http: //www.faqs.org/rfcs/rfc822.html

于 2009-04-02T13:56:17.583 回答
0

我的第一个猜测是检查有问题的计算机上是否启用了 cookie。它是否适用于其他浏览器等?

如果您还要更改 url,请确保您仍在同一站点上,因为不同的站点将使用不同的 cookie。

于 2009-04-01T15:55:17.480 回答
0

我认为字符串索引会话区分大小写。你有“foo”和“Foo”。那是错字吗?

否则,cookie 也是我的猜测。

于 2009-04-01T16:01:54.733 回答