У меня есть общий обработчик сообщений, в котором я получаю доступ к информации о действиях запроса через request.GetActionDescriptor (). В конечном итоге мне нужно знать пользовательские атрибуты действия.
public abstract class MessageHandler : DelegatingHandler
{
protected override async Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
{
var response = await base.SendAsync(request, cancellationToken);
var action = (ReflectedHttpActionDescriptor)request.GetActionDescriptor();
var attributes = action.MethodInfo.CustomAttributes;
return response;
}
}
Действие иногда является нулевым, когда запрос действительно выполнялся. Это происходит около 5% запросов. Он не подведет ни к какому конкретному действию и, кажется, распространяется на все.
Как я могу гарантировать, что этот рефлексивный подход всегда будет успешным? Или, если альтернативный подход может гарантировать здесь информацию об атрибутах действия, это также будет оценено. Спасибо.