使用wse(Web Services Enhancements )把服务器端的文件传到客户端

作者:袖梨 2022-06-30

比如说,现在站点A有个附件想传给站点B,我们就可以用WSE来传。
在服务器端的webservice文件service1.asmx中写入webmethod:
这个是取附件的方法:
[WebMethod]
public void GetAttachment()
{
// 获取 SoapContext 作为响应消息
SoapContext myContext = HttpSoapContext.ResponseContext;

// 字符串,表示附件的文件名和路径。
string filePath = @"C:My Documents1.txt";
// 使用文件名来创建新的 DIME 附件,
// 并通过 MIME 媒体类型
// 来指定附件编码。
DimeAttachment dimeImage = new DimeAttachment(
"text/xml", TypeFormatEnum.MediaType,
filePath);

// 指定给 DIME 记录的 ID 属性。
dimeImage.Id = "1.txt";
// 将新的 DimeAttachment 对象添加到 SoapContext 对象中。
myContext.Attachments.Add(dimeImage);
}
在客户端的web站点下载附件,并写入到新的文件中:
private void DownAttachment()
{
//Service1WSE : Microsoft.Web.Services.WebServicesClientProtocol 这里的Service1继承WSE 中的类
Service1WSE sw=new Service1WSE();
//从webservice中获取附件
sw.GetAttachment();
//得到附件的流
Stream str=sw.ResponseSoapContext.Attachments[0].Stream;
int length=(int)str.Length;

相关文章

精彩推荐