如何配置IIS以仅在存在时处理静态文件。 ASP.NET核心

时间:2017-05-29 20:12:23

标签: c# http asp.net-core asp.net-core-mvc

我有一个监听此网址的ASP.NET核心控制器:/banners/graphical/{imageName} 每当有新请求进入时,例如使用[imageName] img.jpg并且在文件系统上找不到名为"/banners/graphical/img.jpg"的文件,控制器会从其他位置获取文件并将其放在文件系统上然后返回它。

如果文件已存在,则Web服务器将返回该文件而不调用控制器。这有效......在开发中...当Kestrel提供请求时它起作用,因为在app.UseStaticFiles()之前调用了app.Mvc()。默认情况下,当我使用Visual Studio中的IIS Express时...在生产IIS上我收到404错误。

我需要在生产IIS上使用哪些设置才能实现所需的功能?

这是我的Web.config

<?xml version="1.0" encoding="utf-8"?>

<configuration>

  <!--
    Configure your application settings in appsettings.json. Learn more at http://go.microsoft.com/fwlink/?LinkId=786380
  -->

  <system.webServer>
    <handlers>
      <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
    </handlers>
    <aspNetCore processPath="%LAUNCHER_PATH%" arguments="%LAUNCHER_ARGS%" stdoutLogEnabled="false"
                stdoutLogFile=".\logs\stdout" forwardWindowsAuthToken="false" />
  </system.webServer>
</configuration>

0 个答案:

没有答案