Я пишу промежуточное программное обеспечение для анализа субдомена заданного URL-адреса запроса для определения темы веб-сайта. Я хочу игнорировать запросы файла * stati c, чтобы уменьшить количество ненужных поисков в базе данных, и мне интересно, есть ли более чистый способ сделать это.
Это то, что я пробовал до сих пор:
var staticFileExtensions = new List<string> { ".css", ".js", ".png", ".ico" };
if (staticFileExtensions.Any(x => httpContext.Request.Path.Value.EndsWith(x)))
{
await _next(httpContext);
}
else
{
var hostParts = httpContext.Request.Host.Host.Split('.').ToList();
if (httpContext.Request.Path.StartsWithSegments(new PathString("/healthcheck"))
|| (hostParts.Count == 6 && _whitelistedDomains.Contains(hostParts[0])))
{
httpContext.Items.Add("account", hostParts[0]);
await _next(httpContext);
}
else
{
httpContext.Response.StatusCode = (int)HttpStatusCode.NotFound;
}
}
Вот где я добавил его в Startup.cs:
app.UseStaticFiles();
app.UseSpaStaticFiles();
app.UseDomainWhitelisting();
Такое ощущение, что должен быть более понятный способ определить, какие запросы игнорировать, или, может быть, я ' я что-то упустил?