Session_Start针对特定页面运行,创建新的sessionid

时间:2011-04-06 18:09:36

标签: asp.net-4.0 global-asax

我们有一个页面导致Session_start运行,我无法弄清楚原因。无论何时调用home.aspx,都会调用global.asax中的Session_start并创建一个新的sessionid。

在调用session_start时,会立即创建sessionid。我认为这是正常的。我只是不知道为什么从这个页面调用它。

Home.aspx使用与其他母版不同的母版页。我没有找到导致这种情况的任何内容。我检查了Response.Redirect调用,因为其他人已经指出可能是问题。我发现没有人被召唤。

使用萤火虫,我发现了这个: 服务器Microsoft-IIS / 5.1 。

Location    /ent4_sql/(S(unfzfplfp5ltgxcrtpt2bk3f))/Home.aspx?_TSM_HiddenField_=ctl00_ctl04_HiddenField&_TSM_CombinedScripts_=%3b%3bAjaxControlToolkit%2c+Version%3d4.1.40412.0%2c+Culture%3dneutral%2c+PublicKeyToken%3d28f01b0e84b6d53e%3aen-US%3aacfc7575-cdee-46af-964f-5d85d9cdcf92%3ade1feab2%3af9cec9bc%3aa67c2700%3af2c8e708%3a8613aea7%3a3202a5a2%3aab09e3fe%3a87104b7c%3abe6fb298

网址中的会话与浏览器地址栏中显示的会话不同。浏览器似乎总是保留原文。

从搜索网络来看,这个问题似乎并没有真正直接的答案。我只是想要寻找的东西。任何建议都会有所帮助。

更新*** 使用fiddler,我发现系统实际上是去ent4_sql / Home.aspx?.....

请注意,会话不在URL中 这显示一个页面

<html><head><title>Object moved</title></head><body>
<h2>Object moved to <a href="/ent4_sql/(S(bzbos0dmqfcw34wiljuybu2u))/Home.aspx?_TSM_HiddenField_=ctl00_ctl04_HiddenField&amp;_TSM_CombinedScripts_=%3b%3bAjaxControlToolkit%2c+Version%3d4.1.40412.0%2c+Culture%3dneutral%2c+PublicKeyToken%3d28f01b0e84b6d53e%3aen-US%3aacfc7575-cdee-46af-964f-5d85d9cdcf92%3ade1feab2%3af9cec9bc%3aa67c2700%3af2c8e708%3a8613aea7%3a3202a5a2%3aab09e3fe%3a87104b7c%3abe6fb298">here</a>.</h2>
</body></html>

并且似乎将调用它的任何内容重定向到具有会话的URL。我试图找到有关其他人是否已经看到AjaxControlToolkit执行此操作的更多信息。

1 个答案:

答案 0 :(得分:0)

问题与Ajax Control Toolkit和无cookie会话有关,正如预期的那样。这是2009年报告的一个问题,处理同样的问题。修复现已包含在问题

http://ajaxcontroltoolkit.codeplex.com/workitem/23443