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

时间:2014-11-24 08:48:53

标签: c# asp.net asp.net-mvc wcf

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

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

  1. Web服务器(asp.net mvc):文件CRUD
  2. 文件服务器(WCF):使用Windows文件系统或Nosql存储文件。
  3. 使用下载文件时,流程为... http://i.imgur.com/SaBqQF6.png?1

    该文件已发送两次!

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

    我的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服务不应该返回流?

1 个答案:

答案 0 :(得分:0)

看看这个:asp-net-mvc-action-is-called-twice。他们建议在点击链接时添加一个返回false的脚本(不要提及MVC2版本)。 如果这没有帮助,请查看此page-loads-twice-in-google-chrome。如果你的html中有一个带有空src元素的img标签,可能会导致双重调用。