Я строю веб -приложение ASP.net Core 8 с Blazor Pages. URI, который я был назначен для моего веб -приложения на производственном сервере, не размещен на root/ сервера, а в подпате /myapp.
Из -за этого я добавил следующее в App.razor File так, что приложение будет иметь правильный базовый URI в разработке, а также в производстве:
будет иметь правильный базовый URI в разработке:
.
Код: Выделить всё
@if (Env.IsDevelopment())
{
// base href for the app root is the same as the server root
}
else // in production and test
{
// base href for the app root is different than the server root
}
Поскольку применяется идентификационные страницы перед app.razor , этот код не применим к ним, и у них все еще есть базовый href , что приводит к ошибке 503 в любом случае, когда пользователь перемещает им в качестве базы href в производстве. /> Я не обнаружил способ повлиять на базовый тег href для страниц идентификаторов без создания пользовательского промежуточного программного обеспечения, которое использует в качестве потока для чтения во всем контексте, а затем заменить тег < /code> или статически изменяя каждую страницу. Это оба кажутся неправильным способом исправить это. Также обновление базового пути URI с использованием app.usepathbase (basepath) в файле Program.cs дал тот же результат.
Код: Выделить всё
app.UseStaticFiles();
// Set the base path for the application
string basePath = app.Environment.IsDevelopment() ? "/" : "/MyApp";
app.UsePathBase(basePath);
app.UseRouting();
Как лучше всего повлиять на маршрутизацию страниц идентификаторов в моем веб -приложении, чтобы они могли иметь правильный базовый URI после развертывания на веб -сервер?
Подробнее здесь:
https://stackoverflow.com/questions/796 ... -app-razor