- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一个站点是在 asp.net 中完成的。另一个较新的站点是在 asp.net MVC、LINQ 和 Razor 中完成的。
当我访问旧站点 oldsite/default?userid=243 时,这会设置 cookie 和 session 变量。当我访问新站点 oldsite:88 时,我打开了我的 cookie 查看器,它显示 cookie 仍然设置。
我现在正尝试通过写出 cookie 的值在新站点上对此进行测试。
我试过这段代码:
@{
if (!(Request.Cookies["UserID"].Value == ""))
{
<span>Cookie: @Request.Cookies["UserID"].Value</span>
}
if (!(Session["UserID"].ToString() == ""))
{
<span>Session: @Session["UserID"].ToString()</span>
}
}
但是页面出错并且页面是实时的(因为我不能使用我的本地主机,因为域会不同,因此 cookie 不会传输。
如果这个 cookie 不存在,我如何告诉我新网站继续前进。否则,如果它确实存在,则写出它的值。我现在运气不太好。
我需要检查它是否存在的原因是不是每个人都会通过旧站点使用新站点。有些人只是访问新站点,因此根本不需要或不需要 cookie。
最佳答案
检查是否为空。您收到错误是因为您试图读取不存在的 cookie 的 Value
属性。您可能会看到 NullReferenceException
。
@{
if (Request.Cookies["UserID"] != null)
{
<span>Cookie: @Request.Cookies["UserID"].Value</span>
}
}
顺便说一句,要设置您的开发环境以与另一个环境共享 cookie,请修改您的主机文件并映射您域的子目录:
c:\windows\system32\drivers\etc\hosts
127.0.0.1 dev.mydomain.com
并在您的本地 IIS 中添加到该域的绑定(bind)。
现在,当您浏览到 dev.mydomain.com 时,您将加载本地主机站点,但具有子域的安全限制,这意味着您可以共享 cookie。
关于c# - 跨站、同域cookie混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17432116/
我有一个站点是在 asp.net 中完成的。另一个较新的站点是在 asp.net MVC、LINQ 和 Razor 中完成的。 当我访问旧站点 oldsite/default?userid=243 时
我想提供一段 Javascript 代码,它可以在包含它的任何网站上运行,但它总是需要在托管 Javascript 的服务器上获取更多数据(甚至修改数据)。我知道出于显而易见的原因存在安全限制。 考虑
我是一名优秀的程序员,十分优秀!