Динамически настраивайте Http.BaseAddress для среды развертывания Blazor на стороне клиента. - PullRequest
0 голосов
/ 26 января 2019

В этом примере Hosting Blazor у автора есть приложение Blazor ClientSide, которое вызывает функции Azure. Автор устанавливает Http.BaseAddress. Любые мысли о том, как настроить клиентский блейзер "Http.BaseAddress" для локального URL, когда отладка и URL-адрес функций Azure при развертывании приложения Blazor в папках Azure?

Debugging:
Http.BaseAddress = new Uri ("https://localhost:12345");

Производство:
Http.BaseAddress = new Uri ("https://blazorapi.azurewebsites.net");

@functions {
Book[] books;
string message;
  protected override async Task OnInitAsync()
  {
    message = "OnInitAsync";
    Http.BaseAddress = new Uri("https://blazorapi.azurewebsites.net");
    books = await Http.GetJsonAsync<Book[]>("/api/BooksFunction");
    message = "downloaded books";
  }
}

1 Ответ

0 голосов
/ 26 января 2019

Ниже приведена предварительная попытка решить этот сложный вопрос. Если решение - куча бессмыслицы, будьте осторожны со мной: я никогда не запускал ни одной строки в Asp.Net Core и Blazor.

Надеюсь, это поможет ...

Добавить параметр IHostingEnvironment в метод Sratup.Configure

 public void Configure(IApplicationBuilder app, IHostingEnvironment env)
 {          // When not running locally
            if (!env.IsDevelopment())
            {
                // Get the HttpClient object
                var httpClient = app.ApplicationServices.GetRequiredService<HttpClient>();
                // Alter its BaseAddress property value
                httpClient.BaseAddress = new Uri("https://blazorapi.azurewebsites.net");

            }
            // When running locally let the HttpClient use its BaseAddress default property 
            // value; that is 'https://localhost            

            app.AddComponent<App>("app");
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...