c#-.NET Core API 中间件 - 访问“Endpoint.RequestDelegate.Target”属性
发布时间:2022-08-07 19:53:50 287
相关标签: # flask
我有在API端点之前调用的自定义中间件。端点示例:
[HttpPost]
public async Task DoSomething (string id) { // does stuff }
DoSomething()
应仅接受POST
请求。
如果使用HTTP动词不正确喜欢GET
或DELETE
,我想记录这件事。为了正确地这样做,我需要知道DoSomething()
端点定义为[HttpPost]
.
这是我的中间件InvokeAsync
方法
public async Task InvokeAsync (HttpContext context)
{
Endpoint endpoint = context.GetEndpoint();
if (endpoint != null)
{
// if we get '405 not supported', we used INCORRECT HTTP VERB
if (endpoint.DisplayName.StartsWith("405", StringComparison.OrdinalIgnoreCase))
{
dynamic target = endpoint.RequestDelegate.Target;
string verb = target.allow; // error here
}
}
}
在调试器中,我可以看到endpoint.RequestDelegate.Target有一个名为allow“POST”的属性。但是我无法访问该字段,我如何访问它?上面的代码返回错误:
'object' does not contain a definition for 'allow'
特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报