Web Api中的数据缓存

本文关键字:数据 缓存 Api Web | 更新日期: 2023-09-27 17:57:43

我使用Webapi 2制作了一个api。它是对服务的控制器调用,也就是对存储库的调用。

我有Post方法,在存储库中,我执行一个url来获取文档流,最终将其保存到HostingEnvironment.MapPath("~/Uploads/") + documentname;位置。

该位置用于存储库代码中,用于使用该位置将流保存到文件中,并仅通过该位置进行访问:

using (var fileStream = new FileStream(document.DocumentPath, FileMode.Open, FileAccess.Read))
{
    ....
}

我需要这样做,因为其他api调用需要再次使用该文件的流进行进一步处理。

当我的本地机器中运行了一个服务器实例时,一切都很好,但当该服务托管到服务器中时,我收到了500内部服务器错误。FileNotFoundException

我没有访问服务器的权限,所以我不知道真正的原因是什么。我认为我的本地文件系统可以访问服务,但我可能需要在服务器中设置一些额外的权限。对此有任何想法都将不胜感激。

Web Api中的数据缓存

您可以尝试将文件保存在App_Data文件夹中吗?如果您没有该文件夹,您可以右键单击项目>添加文件夹>ASP来创建它。NET文件夹>应用程序数据。

您可以通过以下方式访问文件夹(假设您创建了文件夹"上传"):

string root=系统。网状物HttpContext。现在的服务器MapPath("~/App_Data/uploads");

将IIS_IUSRS添加到该文件夹并设置相关权限就可以了。希望这能有所帮助。