Response.OutputStream的问题

newpbboy 2010-01-19 08:05:57
我psot一个xml给你一个页面。这个页面收到xml后返回一个xml值回去,代码如下:
XmlDocument xd = new XmlDocument();// GetXmlData("1");
xd.LoadXml(@"<?xml version='1.0' encoding='UTF-8'?><returnvalue>1</returnvalue>");
byte[] tdata = Encoding.UTF8.GetBytes(xd.InnerXml);

Stream webStream = Response.OutputStream;
webStream.Write(tdata, 0, tdata.Length);
webStream.Close();

但是在Stream webStream = Response.OutputStream;就出现异常了,“Response.Headers”引发了“System.PlatformNotSupportedException”类型的异常,高手看下,什么问题啊?
...全文
970 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
vrhero 2010-01-20
  • 打赏
  • 举报
回复
只有在 IIS 7.0 处于集成管线模式而且 .NET Framework 至少为 3.0 版本时,才支持 Headers 属性。如果您尝试访问 Headers 属性并且不满足上述两个条件中的任何一个条件,则会引发 PlatformNotSupportedException。
newpbboy 2010-01-20
  • 打赏
  • 举报
回复
好的,谢谢,结贴给分。
孟子E章 2010-01-20
  • 打赏
  • 举报
回复
应该没有问题的。这个方法经常用
newpbboy 2010-01-20
  • 打赏
  • 举报
回复
我的iis是6.0,但是我是在vs2008中调试发现的。
如果我的系统是发布在ii6下的,是不是就没有问题了啊?
孟子E章 2010-01-20
  • 打赏
  • 举报
回复
参考
http://msdn.microsoft.com/zh-cn/library/bb515251.aspx
孟子E章 2010-01-20
  • 打赏
  • 举报
回复
It appears you are using IIS 7. If so, you need to change the application pool type from classic to integrated. The integrated pipeline mode is IIS 7 specific.

从经典模式改成集成模式即可
孟子E章 2010-01-20
  • 打赏
  • 举报
回复
当功能未在特定平台上运行时所引发的异常。

你的是什么环境啊?打一下最新补丁试试
newpbboy 2010-01-20
  • 打赏
  • 举报
回复
楼上的可以,可以走通了。
但是走到Response.Clear();
会有个异常:
“Response.Headers”引发了“System.PlatformNotSupportedException”类型的异常
{"此操作要求使用 IIS 集成管线模式。"}
是iis的问题吧,出现此问题,不影响程序使用吧?
孟子E章 2010-01-20
  • 打赏
  • 举报
回复
为了防止出现乱码,可以这样
Response.Clear();
Response.ContentType = "text/xml";
Response.Charset = "UTF-8";
XmlTextWriter writer = new XmlTextWriter(Response.OutputStream,System.Text.Encoding.UTF8);
writer.Formatting = Formatting.Indented;
xd.WriteTo( writer );
writer.Flush();
Response.End();
孟子E章 2010-01-20
  • 打赏
  • 举报
回复
Response.Write (xd.OuterXml);
就可以了
newpbboy 2010-01-20
  • 打赏
  • 举报
回复
再顶一下啊,还没解决啊
newpbboy 2010-01-19
  • 打赏
  • 举报
回复
Response.Clear();我也试了,加在Stream webStream = Response.OutputStream; 前面,不行啊
还是有html部分啊,而且还报错,报错我的xml(当然是包括html的)还能返回回去,晕了,这样返回回去的就不是xml了,就解析不了了。怎么办啊
mzjmicrosoft 2010-01-19
  • 打赏
  • 举报
回复
CSDN:床上顶你
  • 打赏
  • 举报
回复
Response.Clear();
zhouzangood 2010-01-19
  • 打赏
  • 举报
回复
up
newpbboy 2010-01-19
  • 打赏
  • 举报
回复
“webStream.Length”引发了“System.NotSupportedException”类型的异常
“webStream.Position”引发了“System.NotSupportedException”类型的异常
“webStream.ReadTimeout”引发了“System.InvalidOperationException”类型的异常
“webStream.WriteTimeout”引发了“System.InvalidOperationException”类型的异常

运行到Stream webStream = Response.OutputStream;时,就是这些错误提示。
tzs2304 2010-01-19
  • 打赏
  • 举报
回复
不太清楚 帮顶
newpbboy 2010-01-19
  • 打赏
  • 举报
回复
而且我这里还有个问题,就是返回值里除了我的xml,怎么还有html部分啊?
newpbboy 2010-01-19
  • 打赏
  • 举报
回复
惨了,我这里还是报错啊,为什么啊
而且我觉得System.IO其实是一样的啊
lovexilove 2010-01-19
  • 打赏
  • 举报
回复
up
加载更多回复(2)

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧