C# 使用https从WCF服务获取流
我正在尝试使用android客户端从我的wcf服务下载图像。连接是用ssl保护的,因此我必须授予特殊权限才能这样做。我不确定这是否合适,但以下是我所拥有的: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
[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;