У меня есть метод asyn c Task . Приведенный ниже метод выполняется, проблем нет. Но когда условие не выполняется в блоке try, я просто использую return , это хороший способ, я не уверен, и я возвращаю код ошибки и сообщение, а условие if ударяет два раза в блоке try. Я сомневаюсь, что это может не сработать для 10 одновременных пользователей. Пожалуйста, исправьте мне изменения кода, которые необходимо сделать.
public class VSphereDelegatingHandler
{
private readonly RequestDelegate _next;
public VSphereDelegatingHandler(RequestDelegate next)
{
_next = next;
}
public async Task Invoke(HttpContext context)
{
try
{
int a = 1;
if (a == 1)
{
context.Response.Clear();
context.Response.StatusCode = (int)HttpStatusCode.Unauthorized;
await context.Response.WriteAsync("This is invalid");
return;
}
await _next.Invoke(context);
}
catch (Exception ex)
{
new HttpResponseMessage(HttpStatusCode.BadRequest)
{
Content = new StringContent("Header information for ApiKey is missin")
};
}
}
}