Платформа
. Net Core 2.2 Web App
Сценарий
Я написал несколько пользовательских промежуточных программ с намерение быть выполненным только тогда, когда мой путь запроса совпадает с указанным местоположением. Когда он запускается, он выполняет поиск в базе данных и проверяет часть данных. При определенных обстоятельствах промежуточное ПО будет перенаправлять пользователя на новый URL-адрес вместо того, чтобы позволить ему просмотреть запрашиваемый URL.
Проблема
Кажется, что промежуточное ПО кэшировано или что-то в этом роде , Я не понимаю это Когда я запрашиваю localhost:6000/url-that-should-work
, я волшебным образом получаю не ту страницу с другим URL. Однако, когда я использую Fiddler, это не редирект. Как будто это страница, которую я на самом деле просил. Странная часть в том, что а) мой код промежуточного программного обеспечения закомментирован в Startup.cs
и б) когда я go перешел в режим инкогнито, поведение работает, как и ожидалось. Кроме того, если я изменяю порт отладки на что-то другое, это также работает. Кроме того, когда я устанавливаю точку останова в моем промежуточном программном обеспечении, если я go до /url-that-should-work
, путь запроса является неправильным URL.
Код
Запуск. cs
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseCookiePolicy();
app.UseAuthentication();
//app.UseEndpointRouting();
//app.UseWhen(context => context.Request.Path.StartsWithSegments("/move/booking"), appBuilder =>
//{
// appBuilder.UseMoveBookingWorkflowPermission();
//});
app.UseMvc();
Линия перенаправления промежуточного программного обеспечения, которая не должна выполняться
context.Response.Redirect(context.Request.PathBase + previousPath + context.Request.QueryString, true);