Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/287.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/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
C# 直接从WCF服务返回Azure Blob流_C#_Wcf_Azure Storage Blobs - Fatal编程技术网

C# 直接从WCF服务返回Azure Blob流

C# 直接从WCF服务返回Azure Blob流,c#,wcf,azure-storage-blobs,C#,Wcf,Azure Storage Blobs,我希望通过WCF将Azure Blob存储中的流直接返回到浏览器。 基本上,我有一个REST WCF服务,我希望用户通过该服务下载文件,而文件存储在Azure Blob存储中 在这个问题上 它做我喜欢的事情,但是它首先将整个文件下载到一个新的流中,是否有一种方法将blob流作为WCF的返回流,以便WCF更像是流的代理 我的问题是大文件(>10MB),我真的不想在开始将其返回给用户之前从Azure存储下载整个流 我这样做的原因是,在允许访问Azure Blob存储中存储的文件之前,我正在对我的用

我希望通过WCF将Azure Blob存储中的流直接返回到浏览器。 基本上,我有一个REST WCF服务,我希望用户通过该服务下载文件,而文件存储在Azure Blob存储中

在这个问题上

它做我喜欢的事情,但是它首先将整个文件下载到一个新的流中,是否有一种方法将blob流作为WCF的返回流,以便WCF更像是流的代理

我的问题是大文件(>10MB),我真的不想在开始将其返回给用户之前从Azure存储下载整个流


我这样做的原因是,在允许访问Azure Blob存储中存储的文件之前,我正在对我的用户进行一些安全检查,而且一些文件的大小可能高达1GB。

我做了一些类似于使用WCF授权客户端的事情(并检查Blob是否仍然存在等等)。如果一切正常,WCF服务返回一个带有共享访问签名的URL——这允许客户端直接从存储访问流。节省了将blob拉到wcf角色然后从那里进行流处理的事务成本


这对你有用吗?

是的,经过进一步研究,我得出了相同的结论,这是一个比代理更优雅的解决方案。谢谢你的确认。