我一直在编写一些Web服务供几个不同的客户端应用程序使用,我正在尝试编写一个简单输出RSS XML Feed的Web服务方法。
我可以使用XmlTextWriter对象
创建XML然后我尝试输出到Response(就像我过去在aspx页面上做的那样),但这只适用于返回类型为void(并且似乎仍无法正确输出)
然后我尝试将返回类型设为字符串并使用StringWriter从XmlTextWriter输出xml,然后将输出包装在标记中。
我该怎么做?
答案 0 :(得分:2)
显然,正常创建WCF服务的接口和其余部分。
使用以下属性标记该类
[ServiceBehavior(InstanceContextMode=InstanceContextMode.Single)]
然后这个功能
public Stream GetRSS()
{
string output;
//output = some_text;
MemoryStream ms = new MemoryStream(System.Text.Encoding.UTF8.GetBytes(output));
WebOperationContext.Current.OutgoingResponse.ContentType = "text/xml";
return ms;
}
答案 1 :(得分:0)
我有一些代码,但它不仅适合SO帖子(约1000行)。真的不是那么难;架构很简单,你可以自己做,但你不必:你可以插入几个组件来为你创建xml。
你应该看到这个问题:
ASP.Net RSS feed
答案 2 :(得分:0)
如果必须使用ASMX,则可以返回XmlDocument。根据需要构建feed XML,然后从Web方法返回XmlDocument。