Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net core asp.net core在负载平衡器后面运行的应用程序之间共享远程或使用公共wwwroot_Asp.net Core_Iis_Load Balancing_F5_Wwwroot - Fatal编程技术网

Asp.net core asp.net core在负载平衡器后面运行的应用程序之间共享远程或使用公共wwwroot

Asp.net core asp.net core在负载平衡器后面运行的应用程序之间共享远程或使用公共wwwroot,asp.net-core,iis,load-balancing,f5,wwwroot,Asp.net Core,Iis,Load Balancing,F5,Wwwroot,我有一个场景,在负载平衡器F5后面的asp.net core(nopcommerce 4.10)上运行2台IIS服务器,并使用粘性会话 由于nopcommerce目前不支持web场,我正在寻找一种解决方案,以便在这两台服务器之间为图像/文件共享wwwroot文件夹,并考虑是否可以在应用程序根路径以外的其他位置创建wwwroot文件夹,以便这两个应用程序可以使用它(如果我以某种方式在startup.cs中配置dotnet core应用程序以从不同路径使用wwwroot文件夹,这是可能的)。 或者从

我有一个场景,在负载平衡器F5后面的asp.net core(nopcommerce 4.10)上运行2台IIS服务器,并使用粘性会话

由于nopcommerce目前不支持web场,我正在寻找一种解决方案,以便在这两台服务器之间为图像/文件共享wwwroot文件夹,并考虑是否可以在应用程序根路径以外的其他位置创建wwwroot文件夹,以便这两个应用程序可以使用它(如果我以某种方式在startup.cs中配置dotnet core应用程序以从不同路径使用wwwroot文件夹,这是可能的)。 或者从其中一个共享这两个文件夹的wwwroot文件夹


我目前的解决方案是,当从管理员端上传任何内容时,将文件复制到另一台服务器上,但这与捆绑不起作用。

我不知道nopcommerce,但一种方法是设置网络共享并将其映射到wwwroot文件夹,并将其写入应用程序池。写入权限只是因为您死记硬背,你是从管理员上传文件。我想你也有东西捆绑的一部分,你想包括在wwwroot文件夹


像wwwroot/my\u upload\u folder\u share

Robban1980的评论和回答帮助了我,我真的很感激。尽管我发布了我的最终解决方案,希望它能帮助某些人,特别是nopcommerce开发者

我已经重写了in-FileProvider(nopcommerce使用它访问文件资源)从我的文件夹中获取文件的方法,而不是从wwwroot获取文件

public override string GetAbsolutePath(params string[] paths)  
{
      var allPaths = paths.ToList();
      allPaths.Insert(0, "my-folder");
      return Path.Combine(allPaths.ToArray());
}

此外,我必须设置文件夹的读/写文件权限,以便通过网络访问该文件夹

我想你没有遇到问题,我已经在www根目录中进行了图像上载和捆绑。此外,应用程序池具有完全权限,问题是我如何在两台服务器之间共享它这是网络共享映射的潜在问题作为服务器上wwwroot中的文件夹可以解决此问题。只需将其设置为部署的一部分。您可以尝试使用网络共享文件夹,然后通过使用虚拟路径将共享文件夹装载到IIS服务器以达到此要求。@jalpa尝试此操作,将让您知道您的问题是否已解决?