C# Asp.NETCore2.0Web应用程序静态文件提供404

C# Asp.NETCore2.0Web应用程序静态文件提供404,c#,asp.net,web-services,asp.net-core,http-status-code-404,C#,Asp.net,Web Services,Asp.net Core,Http Status Code 404,我尝试从web服务器(asp.net core 2.0)获取自定义扩展静态文件 我尝试运行下一个: public class Startup { public Startup(IConfiguration configuration) { Configuration = configuration; } public IConfiguration Configuration { get; } public void ConfigureS

我尝试从web服务器(asp.net core 2.0)获取自定义扩展静态文件

我尝试运行下一个:

public class Startup
{
    public Startup(IConfiguration configuration)
    {
        Configuration = configuration;
    }

    public IConfiguration Configuration { get; }

    public void ConfigureServices(IServiceCollection services)
    {
        services.AddDirectoryBrowser(); // just to see that I have this files 
    }

    public void Configure(IApplicationBuilder app, IHostingEnvironment env)
    {
        app.UseStaticFiles();
        app.UseDirectoryBrowser();
    }
}
因此,我可以在文件夹中看到我的文件,但我无法获取它-它抛出404:

当我点击它时:什么也没发生,我得到了404。

为Evk更新:

我在src文件夹的静态文件中添加了static_json.json文件,它得到了预期的结果:


提前感谢您的帮助

我不确定,但IIS设置似乎拒绝您的扩展作为静态资源直接访问。请在web.config中尝试以下操作:

<configuration> 
   <system.webServer> 
       <security> 
          <requestFiltering> 
              <fileExtensions> 
                <add fileExtension=".appinstaller" allowed="true" /> 
              </fileExtensions> 
         </requestFiltering> 
       </security> 
    </system.webServer> 
</configuration> 


我在开发过程中遇到了这个问题。 我使用UseStaticFiles的重载方法将选项ServeUnknownFileTypes设置为true

public void Configure(IApplicationBuilder app, IHostingEnvironment env) {
    app.UseDeveloperExceptionPage()
        .UseSession()
        .UseStaticFiles(new StaticFileOptions
        {
            ServeUnknownFileTypes = true,
        })
        .UseDirectoryBrowser()
        .UseRequestLocalization()
        .UseMvcWithDefaultRoute();
}

这个答案可能来得晚,但在我的情况下,解决方案是在我的IIS设置中。 在请求筛选的允许列中,JavaScript文件扩展名(.js)设置为False。
从请求筛选中删除js文件为我解决了这个问题。

这个应用程序是IIS托管的吗?@kuskmen是的,只需通过调试运行它。只是默认项目。未更改webroot文件夹位置等…您试图提供的文件在哪里?默认情况下,UseStaticFiles()将在wwwroot上提供文件。如果您试图为不同文件夹中的文件提供服务,请看以下内容:那么您的问题意味着具有非“自定义”扩展名的文件可以工作吗?例如像.txt文件?@jpgrassi是的,我使用默认文件夹:wwwroot/src。正如您所看到的,浏览器像静态内容一样检测到此文件,但它不想返回它(只需抛出404)