【发布时间】:2018-01-16 06:05:34
【问题描述】:
出于测试目的,我需要将传入 HttpRequest 的 Authorization 标头从 Basic 更改为 Bearer(该处理在一个 ServiceStack 插件中完成,该插件在 PreRequestFilters 阶段起作用)。
这曾经在 ServiceStack 4.5.x 版本 (.NET Framework 4.6.2) 中工作,但在我将代码升级到 5.0.2 和 NETCore2 后就失败了。
查看源代码,我看到 NETCore 实现使用 NetCoreRequest 类实现请求,使用 NetCoreHeadersCollection 类实现标头集合。
不幸的是,无法更改上述集合中的标题,这是我在源代码中看到的:
public override void Add(string name, string value) => throw new NotSupportedException();
public override void Clear() => throw new NotSupportedException();
public override void Remove(string name) => throw new NotSupportedException();
public override void Set(string key, string value) => throw new NotSupportedException();
在请求头到达请求过滤器和 NETCore 实现中的服务之前,是否有另一种方法可以更改请求头?
谢谢,
埃米尔·佩特里索
【问题讨论】:
标签: servicestack