C# 如何在Azure中通过Dot Net核心Web APi提供静态网站内容
我有一个在Azure中开发、部署和运行的.Net核心Web API。它现在充当API网关。我想当用户在浏览器中点击url的根目录时提供HTML内容 我们的网站内容通过静态网站发布到CDN后面的azure存储中。我按照下面链接中的步骤进行设置 我们如何在azure存储的my dot net core web api中提供此内容并将其返回到浏览器 我有以下代码,适用于我在本地拥有的内容C# 如何在Azure中通过Dot Net核心Web APi提供静态网站内容,c#,azure,.net-core,asp.net-core-webapi,C#,Azure,.net Core,Asp.net Core Webapi,我有一个在Azure中开发、部署和运行的.Net核心Web API。它现在充当API网关。我想当用户在浏览器中点击url的根目录时提供HTML内容 我们的网站内容通过静态网站发布到CDN后面的azure存储中。我按照下面链接中的步骤进行设置 我们如何在azure存储的my dot net core web api中提供此内容并将其返回到浏览器 我有以下代码,适用于我在本地拥有的内容 public void Configure(IApplicationBuilder app, I
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseExceptionHandler("/Home/Error");
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseRouting();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapDefaultControllerRoute();
});
}
我应该在静态网站blob下读取azure存储的内容并将其返回,还是只重定向到静态网站或CDN url
我正试图按照下面答案2中的建议,使用ocelot遵循架构
我亲自尝试了您问题描述的内容,首先显示我的代码,您可以参考它。并建议你阅读 我的项目结构: 编译选项,包括自定义文件夹。 项目的所有准备工作都已完成。以下是我对您的问题的建议:
网络
中进行设置,这也可以满足您的需要总之,我建议试试我的第一个计划,这肯定会对你有很大帮助。你遵循了吗?是,它从本地文件夹提供服务。静态文件存储在项目的web根目录中。
我可以将launchUrl值更改为:http://localhost:4343 将其指向根以返回索引html。但不确定如何返回azure cdn内容。
您这句话是什么意思?你的意思是你想将其发布到Azure以进行托管吗?我已经将react project的前端SPA静态文件发布到Azure存储->静态网站。我想在用户点击dot net core api的根目录时返回该内容。您的意思是您已经为api创建了azure web app
,并且希望通过azure静态web app
提供静态内容。
//for wwwroot folder
app.UseStaticFiles();
//for wwwroot outside folder
app.UseStaticFiles(new StaticFileOptions
{
FileProvider = new PhysicalFileProvider(
Path.Combine(env.ContentRootPath, "StaticContent")),
RequestPath = "/StaticContent"
});