1 回答
TA贡献1780条经验 获得超5个赞
另一种情况与 CORS 和测试有关。您可以克隆此存储库并在您要查找详细信息时深入搜索“MS_HttpContext”事件。但是,我不确定它的文档。
定义此键的位置,或类似的键,例如 HTTP_X_FORWARDED_FOR、REMOTE_ADDR 等。
所有这些字典键从哪里来?
这些请求的属性(又名服务器变量)是根据客户端发送的相应标头创建的(几乎是重复的)(适用于 HttpContext - ASP.NET WebForms/MVC)
顺便说一句,ASP.NET Core 的 HttpRequest 中不再有此类属性(仅限标头)。
如果您需要在 ApiController 内检索它,可能会更容易(不要忘记所需的空引用检查和自托管 WebAPI 解决方案):
public class YourApiController : ApiController {
public HttpResponseMessage YourActionName() {
var request = new HttpContextWrapper(CurrentContext).Request;
...
}
}
public class YourAuditHandler : DelegatingHandler {
protected override Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken) {
string ipAddress = HttpContext.Current != null ? HttpContext.Current.Request.UserHostAddress : "0.0.0.0";
...
}
}
- 1 回答
- 0 关注
- 90 浏览
添加回答
举报