XmlWriter 表示一个编写器,该编写器提供一种快速、非缓存和只进的方式来生成包含 XML 数据的流或文件。这个就可以不占用内存,将数据放入磁盘中。也就不会出现内存溢出

public class FileExercise : System.Web.Services.WebService
{ [WebMethod]
public void HelloWorld()
{
// 生成临时文件
string tFName = System.IO.Path.GetTempFileName();//@"C:\ResponseStream.txt"
System.IO.FileStream stream = System.IO.File.Open(tFName, System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.ReadWrite);
XmlWriter writer = XmlWriter.Create(stream); writer.WriteStartDocument();
writer.WriteRaw("<soap:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">");
writer.WriteRaw("<soap:Body>");
writer.WriteStartElement(MethodInfo.GetCurrentMethod().Name + "Response", @"http://tempuri.org/");
writer.Flush(); // 返回的主体
writer.WriteString("Hello word!");
// 将内存缓冲数据写进磁盘 ,当数据量大的时候分批处理并及时写入磁盘,可以降低内存压力
writer.Flush(); writer.WriteEndElement();
writer.WriteRaw("</soap:Body>");
writer.WriteRaw("</soap:Envelope>");
writer.WriteEndDocument();
writer.Flush(); writer.Close();
stream.Close(); HttpContext context = HttpContext.Current;
//context.Response.ContentType = "application/soap+xml; charset=utf-8";
context.Response.WriteFile(tFName);
return;
}
}
}

最新文章

  1. 使用sklearn做单机特征工程
  2. Python-07-面向对象(进阶篇)
  3. swift 001
  4. CSS3--overflow属性
  5. BestCoder Round #69 (div.2)(hdu5611)
  6. IT谁谁说女子不如男行业
  7. MySql 安装及0基础使用具体解释
  8. C语言程序设计第五次作业——循环结构(1)
  9. css 四周边框角加粗效果
  10. 京东饭粒捡漏V1.14
  11. 实现mypwd和mybash
  12. Python3学习笔记26-unittest模块
  13. npm WARN unmet dependency错误解决方法
  14. p3168 [CQOI2015]任务查询系统(差分+主席树)
  15. Spring 的@Required注释
  16. 图片宽度为2000px,使图片在电脑不同分辨率下都水平居中,不压缩。
  17. FancyBox-经典的jQuery Lightbox插件
  18. PL/SQL Developer 中文乱码问题的解决
  19. 玩转X-CTR100 l STM32F4 l HMC5983/HMC5883L三轴磁力计传感器
  20. Django----Request对象&amp;Response对象

热门文章

  1. Oracle字符函数(转换大小写,替换等)
  2. VS2010安装MSDN
  3. ListView 实现分组
  4. ctrl+alt+l:linux 锁屏 win+l:windows锁屏
  5. java.lang.IllegalArgumentException: Timestamp format must be yyyy-mm-dd hh:mm:ss[.fffffffff]
  6. ubuntu14.04 安装 StudioZend12
  7. 人物角色群体攻击判定(三)Physics.OverlapSphere(群体攻击)
  8. pyqt 托盘例子学习
  9. IOS 用drawRect 画表格
  10. eclipse配置maven + 创建maven项目