C# 如何将纯文本发布到WCF服务,即不封装在XML标记中?
这是我的问题:C# 如何将纯文本发布到WCF服务,即不封装在XML标记中?,c#,wcf,web-services,rest,C#,Wcf,Web Services,Rest,这是我的问题: 我必须构建一个在httppost主体中接受纯文本的web服务。 我想使用wcf,但看起来wcf只针对xml/json 有没有人有我可以通过http post发布纯文本的方法? 请注意,我不能使用soap或将文本包装在xml标记中,我必须遵循某些准则才能与现有服务使用者兼容 提前感谢。诀窍在于使用param Stream xxx调用您的方法 在合同中 [WebInvoke(Method = "POST", UriTemplate = "InterpSvcTest",
我必须构建一个在httppost主体中接受纯文本的web服务。
我想使用wcf,但看起来wcf只针对xml/json 有没有人有我可以通过http post发布纯文本的方法?
请注意,我不能使用soap或将文本包装在xml标记中,我必须遵循某些准则才能与现有服务使用者兼容
提前感谢。诀窍在于使用param Stream xxx调用您的方法 在合同中
[WebInvoke(Method = "POST",
UriTemplate = "InterpSvcTest",
BodyStyle = WebMessageBodyStyle.Bare)] // this is key for combining params with Stream
Stream InterpretORUTest(Stream ORU);
在您的WebService类中
public Stream InterpretORUTest(Stream ORUMessageStream)
{
string hl7 = StreamToString(ORUMessageStream);
return StringToStream(hl7);
}
public Stream StringToStream(string s)
{
return new MemoryStream(Encoding.UTF8.GetBytes(s));
}
public string StreamToString(Stream ms)
{
try
{
using (ms)
{
var sr = new StreamReader(ms);
var myStr = sr.ReadToEnd();
sr.Dispose();
return myStr;
};
}
catch (Exception e)
{
c.WriteToLog("StreamToString error - " + e.Message);
return "";
}
}
现有服务是如何实现的?