C#学习教程:ASP.netMVC中IFrame中的session仅在safari浏览器中为null对于Safari,会话仅为空。我的Safari版本是5.1.7我正在使用MVC4.5一切都在其他浏览器中完美运行。我使用以下代码..受保护的覆盖无效OnResultExecuting(ResultExecutingContextfilterContext){base.OnResultExecuting(filterContext);filterContext.HttpContext.Response.AddHeader("p3p","CP="CAOPSAOUR"");获取第一个错误();我们遇到了完全相同的问题——FB应用程序无法在ASP.NetMVC项目的Safari中运行。以下是我们修复它的方法:向所有转发添加P3P标头。您可以在IIS服务器级别进行配置:http://support.microsoft.com/kb/324013-或者直接在global.asax中进行配置:AddHeader("P3P","CP="NOICURaADMaDEVaTAIaOURBUSINDUNICOMNAVINT"");在您的网站根目录中创建w3c文件夹(所谓的知名位置)并将p3p.xml和policy.p3p文件上传到其中:HowtodeployaP3PprivacypolicyonyourwebsiteHereismyp3p.xmlfile:/和policy.p3p(抱歉,它很长,但我不知道如何隐藏它作为剧透):从所有Web用户收集的数据:访问日志和搜索字符串(如果输入)。Cookie用于跟踪我们网站的访问者,因此我们可以更好地了解我们网站的哪些部分最适合您。安装Safari默认情况下不接受第三方cookie。这意味着当您访问域A并将域B嵌入iframe时,它??不会接受来自B的cookie,直到用户与iframe的内容进行交互。这种情况让我在开发需要session的Facebook应用时很不爽,客户端不接受告诉用户启用第三方cookies的解决方案。这是我实施的解决方法,从那时起它就开始工作了:使用请求跟踪并查看传入的请求cookie或使用调试代理查看客户端(或浏览器调试工具)上的值。cookie是否关闭?您的会话guid是否每次从服务器到客户端都会更改-在这种情况下,会话不会保持已建立状态一种方法是DisAllowcookie从不阻止它。以下方式。转到首选项。选择隐私,永不屏蔽Cookies以上为C#学习教程:ASP.netMVC中IFrame中的session仅在safari浏览器中为null,希望大家多多关注~本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
