我的ASP.NET应用程序正在生成静态文件,然后用户可以直接访问这些文件,例如https://example.com/usercontent/xyz.pdf
目前,这是通过将生成的文件直接写入Web应用程序内的phyiscal目录(如D:\ Path \ To \ Webapp \ usercontent \ xyz.pdf)并让用户通过URL访问它们来实现的。不幸的是,在每次部署应用程序时都会删除驱动器上的目录。 是否可以仅使用web.config将包含此文件夹的URL重新映射到另一个物理位置?
这样,每次运行时部署都不会清除它。
答案 0 :(得分:1)
也许你不能做你想要的但是:
替代方案1: 您可以从部署过程中排除USERCONTENT目录。如果您使用MSBUILD进行部署,请查看此处:How to exclude folders from publish/deployment of Visual Studio 2013 Web Application
替代方案2: 在这种情况下,我使用S3 Bucket(或类似的云服务)作为静态文件容器。
替代3: 在IIS中运行另一个站点仅用于静态文件,并在需要推送新文件时通过FTP从站点1以编程方式访问它。