.NET C#会话变量未在Safari浏览器中更新

ideonexus

我在与Safari会话中存储Guid密钥时遇到问题。该代码在IE,Chrome和Firefox中可以正常运行,但是由于某些原因Safari无法更新会话变量。这是问题的示例:

sessionOutputOne.InnerHtml = Session["TopicId"]; //Old topic ID d158e4f2-c0ac-41ce-8798-e936afaf67f8

Session["TopicId"] = someobject.GuidId.ToString();

sessionOutputTwo.InnerHtml = Session["TopicId"]; //Shows new topic Id f72850a4-c29f-4d1e-ab46-7939c097a002

如果刷新页面,则第一个Session [“ TopicId”]输出将在除Safari之外的每个浏览器中显示新的主题ID(f72850a4-c29f-4d1e-ab46-7939c097a002),该浏览器将继续显示旧ID(d158e4f2-c0ac-41ce -8798-e936afaf67f8)。

基于其他stackoverflow线程,我消除了以下可能性:

  1. 设置会话变量后,没有页面重定向有效。

  2. 没有在iframe中设置会话变量,但Google产品网站上存在iframe。

  3. 我不是想在此会话变量中存储任何复杂的东西,而只是将GUID转换为字符串。

  4. Cookies在Safari中未禁用,并且我的其他Safari浏览器上的客户也遇到了同样的问题。

有关此问题的其他线索:当我打开Safari的“私人浏览”模式时,会话变量确实设置成功。

预先感谢您对我还能研究的其他见解。

更新:

因此,情节变得越来越厚。我在根Default.aspx.cs文件中找到了Response.Redirect,它将登录的用户重定向到子目录。注释掉此重定向可使会话正常工作;但是,似乎连重定向都没有被击中。如果我用Response.End()替换重定向以终止响应,则站点中的所有内容都可以正常工作-如果直接点击首页,首页只会死掉,而不是将登录用户重定向到其内容。

解决方案

得益于Steven在调试方面的不懈努力,我终于能够至少弄清正在发生的事情,如果不是原因的话。由于某些原因,Safari在加载“浏览主题”页面时会触摸我们的根Default.aspx文件(可能在幕后以某种方式)。Default.aspx重定向回浏览主题页面,而没有查询字符串变量。然后,浏览页面将清除会话变量,以将其设置为默认topicid。我很困惑。我的解决方案是检查Default.aspx中的Session [“ TopicId”],并使用querystring变量将其重定向到“浏览”页面,因为我不知道如何防止Safari浏览器访问此页面。

史蒂文·梅伦德斯

您是否尝试过清除cookie并进行测试?看看您是否可以清除Cookie。

Session.Remove("TopicId");

如果您可以清除cookie,请尝试在清除后将cookie重置为新值。

Session.Add("TopicId",someObject.GuidId.ToString());

基于用户更新:基于您的更新,您是否尝试过:

Response.Redirect(url, false);

添加该参数(false)不会终止线程,而是继续执行该线程上的代码。让我知道结果。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

ASP.Net MVC C#在会话超时/浏览器关闭时发送通知

来自分类Dev

.NET Framework中如何更新浏览器功能的定义?

来自分类Dev

使用ASP.NET C#在浏览器中显示Excel图表

来自分类Dev

C# ASP.NET MVC:如何让浏览器从我的响应中自动下载 pdf?

来自分类Dev

VBA对象浏览器未在我的.NET dll库中显示类成员

来自分类Dev

CC.Net未在Web浏览器上打开

来自分类Dev

变量未在 vb.net 中更新

来自分类Dev

HTML img标记无法在C#中的WebKit.NET浏览器中呈现源图像

来自分类Dev

如何使用ASP.NET和C#在新的浏览器选项卡中打开任何文件?

来自分类Dev

在Safari中使用“浏览器后退”按钮时,从浏览器缓存中重新加载了Asp.net MVC视图/页面

来自分类Dev

如何在.NET Framework中更新浏览器功能的定义?

来自分类Dev

当用户使用C#注销asp.net时如何清除浏览器缓存?

来自分类Dev

asp.net c#强制在浏览器上重新加载页面打印热键

来自分类Dev

从Java脚本为Webkit浏览器和.NET调用C#函数

来自分类Dev

从Java脚本为Webkit浏览器和.NET调用C#函数

来自分类Dev

C#:基于 .NET 的网络浏览器不显示图像

来自分类Dev

在浏览器中查看会话变量

来自分类Dev

在浏览器中查看会话变量

来自分类Dev

浏览器中的ASP.NET MVC图像缓存

来自分类Dev

浏览器中的ASP.NET MVC图像缓存

来自分类Dev

VB.net Web浏览器中的奇怪错误

来自分类Dev

asp.net中的主页浏览器缓存

来自分类Dev

ASP.NET如何在多个浏览器/选项卡中跟踪会话?

来自分类Dev

如何结束会话或在浏览器上注销用户关闭MVC ASP .NET

来自分类Dev

关闭浏览器时 ASP.NET 不清除 cookie 会话

来自分类Dev

Asp.net-在会话超时或浏览器关闭后运行全局方法

来自分类Dev

ASP.NET - C# 中会话变量的替代方案

来自分类Dev

物化CSS图标未在Safari浏览器中显示

来自分类Dev

HTML文字未在Windows的Safari浏览器中显示

Related 相关文章

  1. 1

    ASP.Net MVC C#在会话超时/浏览器关闭时发送通知

  2. 2

    .NET Framework中如何更新浏览器功能的定义?

  3. 3

    使用ASP.NET C#在浏览器中显示Excel图表

  4. 4

    C# ASP.NET MVC:如何让浏览器从我的响应中自动下载 pdf?

  5. 5

    VBA对象浏览器未在我的.NET dll库中显示类成员

  6. 6

    CC.Net未在Web浏览器上打开

  7. 7

    变量未在 vb.net 中更新

  8. 8

    HTML img标记无法在C#中的WebKit.NET浏览器中呈现源图像

  9. 9

    如何使用ASP.NET和C#在新的浏览器选项卡中打开任何文件?

  10. 10

    在Safari中使用“浏览器后退”按钮时,从浏览器缓存中重新加载了Asp.net MVC视图/页面

  11. 11

    如何在.NET Framework中更新浏览器功能的定义?

  12. 12

    当用户使用C#注销asp.net时如何清除浏览器缓存?

  13. 13

    asp.net c#强制在浏览器上重新加载页面打印热键

  14. 14

    从Java脚本为Webkit浏览器和.NET调用C#函数

  15. 15

    从Java脚本为Webkit浏览器和.NET调用C#函数

  16. 16

    C#:基于 .NET 的网络浏览器不显示图像

  17. 17

    在浏览器中查看会话变量

  18. 18

    在浏览器中查看会话变量

  19. 19

    浏览器中的ASP.NET MVC图像缓存

  20. 20

    浏览器中的ASP.NET MVC图像缓存

  21. 21

    VB.net Web浏览器中的奇怪错误

  22. 22

    asp.net中的主页浏览器缓存

  23. 23

    ASP.NET如何在多个浏览器/选项卡中跟踪会话?

  24. 24

    如何结束会话或在浏览器上注销用户关闭MVC ASP .NET

  25. 25

    关闭浏览器时 ASP.NET 不清除 cookie 会话

  26. 26

    Asp.net-在会话超时或浏览器关闭后运行全局方法

  27. 27

    ASP.NET - C# 中会话变量的替代方案

  28. 28

    物化CSS图标未在Safari浏览器中显示

  29. 29

    HTML文字未在Windows的Safari浏览器中显示

热门标签

归档