获取 HTTP 错误 500.30 - PhysicalFileProvider
Getting HTTP Error 500.30 - PhysicalFileProvider
我想为某些文件使用 wwwroot 之外的路径,这些文件只能由授权用户访问并找到 PhysicalFileProvider 方法。
我的启动看起来像:
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseExceptionHandler("/Home/Error");
// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseStaticFiles(new StaticFileOptions
{
FileProvider = new PhysicalFileProvider(
Path.Combine(Directory.GetCurrentDirectory(), "Files")),
RequestPath = "/Files"
});
app.UseRouting();
app.UseAuthentication();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
});
}
我认为这里没有什么特别的,并且可以在我的本地机器上运行。
将此上传到托管服务器(主机:smarterasp.net)后,我收到 HTTP 错误 500.30 - ANCM 进程中启动失败。如果我注释掉它起作用的新 StaticFileOptions,当然无法访问该文件夹。
使用PhysicalFileProvider还有什么事要做吗?
使用 .Net Core 3.1
我重现了你的错误,错误是由于Path不可以导致的found.I通过将静态文件夹添加到publish文件夹中解决
这是我的 startup.cs:
的部分代码
app.UseStaticFiles();
app.UseStaticFiles(new StaticFileOptions
{
FileProvider = new PhysicalFileProvider(
Path.Combine(Directory.GetCurrentDirectory(), "Files")),
RequestPath = "/Files"
});
这是我的部分代码:
<img src="~/Files/banner1.svg" alt="ASP.NET" class="img-responsive" />
publish文件夹里有发布需要的内容,我把Files文件夹加到publish里folder.And就可以了
我想为某些文件使用 wwwroot 之外的路径,这些文件只能由授权用户访问并找到 PhysicalFileProvider 方法。
我的启动看起来像:
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseExceptionHandler("/Home/Error");
// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseStaticFiles(new StaticFileOptions
{
FileProvider = new PhysicalFileProvider(
Path.Combine(Directory.GetCurrentDirectory(), "Files")),
RequestPath = "/Files"
});
app.UseRouting();
app.UseAuthentication();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
});
}
我认为这里没有什么特别的,并且可以在我的本地机器上运行。 将此上传到托管服务器(主机:smarterasp.net)后,我收到 HTTP 错误 500.30 - ANCM 进程中启动失败。如果我注释掉它起作用的新 StaticFileOptions,当然无法访问该文件夹。
使用PhysicalFileProvider还有什么事要做吗?
使用 .Net Core 3.1
我重现了你的错误,错误是由于Path不可以导致的found.I通过将静态文件夹添加到publish文件夹中解决
这是我的 startup.cs:
的部分代码app.UseStaticFiles();
app.UseStaticFiles(new StaticFileOptions
{
FileProvider = new PhysicalFileProvider(
Path.Combine(Directory.GetCurrentDirectory(), "Files")),
RequestPath = "/Files"
});
这是我的部分代码:
<img src="~/Files/banner1.svg" alt="ASP.NET" class="img-responsive" />
publish文件夹里有发布需要的内容,我把Files文件夹加到publish里folder.And就可以了