c# - 这是一个有点笼统的查询,但是 ASP.NET 应用程序如何知道请求是来自一台计算机还是另一台计算机?

标签 c# asp.net asp.net-mvc http

假设我有一个 Controller (抱歉,不能在我的电脑上输入括号..键盘坏了)

public ActionResult SomeAction ( string something )
   // ... 

处理 HTTP 请求,它由一台计算机上的某些人调用,然后由坐在他旁边的另一台计算机上的人调用。现在我知道在HttpContext class class 有查找 IP 地址、浏览器语言设置等的方法,但这些都不是机器独有的,并且因为它们的组合不一定是机器独有的,所以你不能散列所有信息以获得一些 key 例如,您可以用于跟踪 session 。然而,Session 对象存在并且以某种方式知道两个请求何时来自同一台机器。这就是我感到困惑的地方。

换句话说,HTTP 请求中使 HTTP 请求对发送它的机器唯一的关键信息是什么?

最佳答案

这是使用 session cookie 实现的。

当用户首次访问您的页面时,ASP .NET 会向浏览器发出一个 session cookie。在后续请求中, session cookie 随请求一起发送,通过查看此值,我们可以在服务器端区分用户。

关于c# - 这是一个有点笼统的查询,但是 ASP.NET 应用程序如何知道请求是来自一台计算机还是另一台计算机?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36251163/

相关文章:

c# - 将数据列添加到数据表

c# - PDF 到 bmp 图片(12 页 = 12 张图片)

c# - 当我在 Javascript 中禁用它时,ASP.NET 组合框的值似乎发生了变化

c# - 字符串未向 View 表输出换行符

c# - 如何使用 project.json 文件中的依赖项在 Roslyn 中创建 MetadataReferences?

c# - 为什么在枚举声明中使用 int?

asp.net - MVC 4 子目录中的 web.config

asp.net-mvc - 当前日期和时间 - MVC Razor 中的默认值

c# - ASP.NET MVC Htmlhelper htmlAttributes 不起作用

c# - Unity (5.5) 插件在导出 Windows 应用程序文件 (EXE) 时使用 SQLite 数据库错误