Я пытаюсь создать промежуточное программное обеспечение для обработки кода страны в URL-адресе.
Имеющийся у меня код отлично подходит для удаления кода страны, поэтому он направляется в правильную конечную точку в конвейере MVC. >
У меня проблема в том, что мне нужно выполнить некоторые действия в зависимости от того, имеет ли конечная точка определенный атрибут или нет.
Я вижу, что HttpContext есть метод GetEndpoint, и это именно то, что мне нужно.
Когда код страны находится в URL-адресе (mysite.com/us/ главная/Индекс),
GetEndpoint возвращает значение null.
Но если я введу сайт без кода страны в URL-адресе (mysite.com/home/Index), то GetEndpoint сработает.< /p>
Как я могу использовать метод GetEndpoint() для измененного URL-адреса запроса?
Это другое свойство HttpContext мне нужно переодеться?
public async Task InvokeAsync(HttpContext httpContext)
{
// mysite.com/us/home/Index
var currentAddress = httpContext.Request.Path;
// mysite.com/home/Index
httpContext.Request.Path = ExtractCountryCodeFromUrl(currentAddress);
var endpoint = httpContext.GetEndpoint(); // null
var hasMyAttribute = endPoint.Metadata.GetMetadata();
// Do something...
await next(httpContext);
}
Подробнее здесь: https://stackoverflow.com/questions/675 ... path-net-5