C# 使用https从WCF服务获取流

C# 使用https从WCF服务获取流,c#,android,wcf,stream,C#,Android,Wcf,Stream,我正在尝试使用android客户端从我的wcf服务下载图像。连接是用ssl保护的,因此我必须授予特殊权限才能这样做。我不确定这是否合适,但以下是我所拥有的: [OperationContract] [WebGet(UriTemplate="getstream")] Stream GetStream(); 上面是获取图片的方法的定义,下面是实现(我从包含在AttachmentData列中的sql server中的varbinary字段获取图像) } 最后,要获得流: Trust

我正在尝试使用android客户端从我的wcf服务下载图像。连接是用ssl保护的,因此我必须授予特殊权限才能这样做。我不确定这是否合适,但以下是我所拥有的:

 [OperationContract]
    [WebGet(UriTemplate="getstream")]
    Stream GetStream();
上面是获取图片的方法的定义,下面是实现(我从包含在AttachmentData列中的sql server中的varbinary字段获取图像)

}

最后,要获得流:

TrustALL();
            URL imageUrl = new URL("https://192.168.10.103/RcaRestService/RCAService.svc/getstream");
            HttpURLConnection conn = (HttpURLConnection) imageUrl
                    .openConnection();
            conn.setConnectTimeout(30000);
            conn.setReadTimeout(30000);
            conn.setInstanceFollowRedirects(true);
            InputStream is = conn.getInputStream();

            Log.i("donnnn", ""+is.read());

问题是,我立即得到-1,流的末尾,也许我没有正确发送或接收它。有人帮忙吗?

我在从WCF返回之前重置了流位置,解决了这个问题:

stream.Position = 0;
TrustALL();
            URL imageUrl = new URL("https://192.168.10.103/RcaRestService/RCAService.svc/getstream");
            HttpURLConnection conn = (HttpURLConnection) imageUrl
                    .openConnection();
            conn.setConnectTimeout(30000);
            conn.setReadTimeout(30000);
            conn.setInstanceFollowRedirects(true);
            InputStream is = conn.getInputStream();

            Log.i("donnnn", ""+is.read());
stream.Position = 0;