文件管理系统 - 使用 asp.net mvc 和 wcf



我正在尝试为用户上传/下载文件开发一个文件管理系统。

该系统包括两部分(机器):

  1. Web 服务器(asp.net MVC) : 文件 CRUD
  2. 文件
  3. 服务器(WCF):使用Windows文件系统或Nosql存储文件。

使用下载文件时,过程是...https://i.stack.imgur.com/gmL5K.png

文件已发送两次!

我希望文件服务器直接将文件发送回浏览器,但不知道如何做。

我的 wcf 服务协定如下:

interface FileService {
  Stream Download(string filename);
  void Upload(string filename, Stream file);
}

ASP.net MVC 代码:

class FileController : Controller {
  HttpResponseMessage Get(string filename) {
    // call wcf service here, and return.
  }
}

请建议,谢谢!


更新:

不是action两次打电话...

我的意思是文件发送两次:从文件服务器到Web服务器再到浏览器

也许是我的程序架构问题,wcf 服务不应该返回流?

看看这个:asp-net-mvc-action-is-called-twice。他们建议添加一个脚本,以便在单击链接时返回 false(不要提及 MVC2 版本)。如果这没有帮助,请查看此页面加载两次在谷歌浏览器中。如果您的 html 中有一个带有空 src 元素的 img 标记,这可能会导致重复调用。

最新更新