gpt4 book ai didi

wcf - WCF 中的 HttpContext

转载 作者:行者123 更新时间:2023-12-04 12:43:23 25 4
gpt4 key购买 nike

我在 WCF 中编写了一个简单的 REST API,身份验证机制使用 API key 。一旦客户端在请求头中提交 API key ,我会在服务器端(在 BaseService 类中覆盖 RequestInterceptor 类的 ProcessRequest() 方法)进行检查,如下所示:

public partial class BaseService : RequestInterceptor
{
public BaseService() : base(false) { }

#region Process Request
public override void ProcessRequest(ref RequestContext requestContext)
{
if (IsValidApiKey(requestContext))
//put some values in HttpContext object.

}

...

现在我已经在我的 REST 服务中启用了 aspnet 兼容性,但我仍然无法访问上面 ProcessRequest 覆盖中的 HttpContext 对象。
请注意,可以从服务方法内部访问 HttpContext,但不能在 ProcessRequest 方法中访问。

任何想法为什么?

最佳答案

HttpContext 可能在 WCF channel 堆栈中初始化得更晚。请记住, channel 拦截器首先在 channel 堆栈中运行,并且就在从 Http channel 监听器接收到消息之后。从请求拦截器访问 HttpContext 需要什么? Http 请求可用作与 requestContext 关联的消息中的属性。您还可以在消息中可用的属性包中添加存储一些值。

谢谢
巴勃罗。

关于wcf - WCF 中的 HttpContext,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4900596/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com