Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 检查浏览器是否接受cookie_C#_Asp.net_Browser_Cookies - Fatal编程技术网

C# 检查浏览器是否接受cookie

C# 检查浏览器是否接受cookie,c#,asp.net,browser,cookies,C#,Asp.net,Browser,Cookies,有没有办法检查浏览器是否允许cookie Request.Browser.Cookies 禁用Cookie时不工作。它说浏览器可以支持它们 我唯一能想到的另一件事是尝试设置一个测试cookie,然后检查它是否被设置 无论如何都有办法确保cookies被实际启用。我不知道在asp.NET中有什么方法可以做到这一点。您所能做的就是创建一个cookie并尝试在回发中读取它。 您可以看到如何执行此操作的示例(这在vb.NET中,但我相信您可以在google和C#中找到许多其他示例):我不知道其他方法

有没有办法检查浏览器是否允许cookie

Request.Browser.Cookies 
禁用Cookie时不工作。它说浏览器可以支持它们

我唯一能想到的另一件事是尝试设置一个测试cookie,然后检查它是否被设置


无论如何都有办法确保cookies被实际启用。

我不知道在asp.NET中有什么方法可以做到这一点。您所能做的就是创建一个cookie并尝试在回发中读取它。

您可以看到如何执行此操作的示例(这在vb.NET中,但我相信您可以在google和C#中找到许多其他示例):

我不知道其他方法:
设置cookie,检查cookie是否存在。

根据MSDN,无法确定用户是否允许或禁用cookie。找到答案的唯一方法是先写然后读

检查“确定浏览器是否接受cookie”部分

它还提供了一些示例,说明如何读取和写入cookie,并说明:

Cookies属性不指示是否启用了Cookies。信息技术 仅指示当前浏览器是否固有地支持 饼干


正如大家所说,您基本上需要设置、重定向、检测(除非您只需要客户端检测,否则javascript可以进行检查)
HttpCapabilitiesBase.Cookies属性获取一个值,该值指示浏览器是否支持Cookie

到目前为止,这似乎是唯一的选择。@Dietpixel:我在多次检查之前和之后都遇到了这个问题,我意识到这是我最好的、简单的选择(如果不是唯一的选择的话)。确定cookie是否被接受的一种方法是尝试编写cookie,然后尝试重新读取它。如果您无法读取您编写的cookie,您假设浏览器中的cookie已关闭。不足为奇的是,当您思考cookie的工作原理时,唯一的答案是将cookie写出来并尝试将其读回——http响应设置为一个带有标题的响应,然后浏览器仅在请求exac相同域名时才将其吐回——如果三个是另一种方式的话这样,Cookie对文档中的身份验证等内容就没有好处了:“Cookie属性表示浏览器应用程序是否支持Cookie。如果用户在其应用程序中禁用了Cookie,Cookie属性将不会受到影响。”
Request.Browser.Cookies