通过c# WCF服务返回一个输出值
本文关键字:一个 输出 WCF 服务 返回 通过 | 更新日期: 2023-09-27 17:49:42
我希望通过WCF上的HTTP post服务向客户端返回字符串值。
我可以通过以下方式返回一个状态码okay:
WebOperationContext.Current.OutgoingResponse.StatusCode= HttpStatusCode.OK;
…然而,我不完全确定如何返回一个字符串值到客户端。
如能指点,不胜感激。
感谢尼克namespace TextWCF
{
[ServiceContract]
public interface IShortMessageService
{
[WebInvoke(UriTemplate = "invoke", Method = "POST", BodyStyle = WebMessageBodyStyle.WrappedRequest)]
[OperationContract]
void PostSMS(Stream input);
}
}
[OperationBehavior]
public void PostSMS(Stream input)
{
StreamReader sr = new StreamReader(input);
string s = sr.ReadToEnd();
sr.Dispose();
NameValueCollection qs = HttpUtility.ParseQueryString(s);
string user = Convert.ToString(qs["user"]);
string password = qs["password"];
string api_id = qs["api_id"];
string to = qs["to"];
string text = qs["text"];
string from = qs["from"];
WebOperationContext.Current.OutgoingResponse.StatusCode = HttpStatusCode.OK;
WebOperationContext.Current.OutgoingResponse. = HttpStatusCode.OK;
}
你需要让你的方法像Neil指出的那样返回一些东西。
把你的方法签名改成
namespace TextWCF
{
[ServiceContract]
public interface IShortMessageService
{
[WebInvoke(UriTemplate = "invoke", Method = "POST", BodyStyle = WebMessageBodyStyle.WrappedRequest)]
[OperationContract]
string PostSMS(Stream input);
}
}
[OperationBehavior]
public string PostSMS(Stream input)
{
StreamReader sr = new StreamReader(input);
string s = sr.ReadToEnd();
sr.Dispose();
NameValueCollection qs = HttpUtility.ParseQueryString(s);
string user = Convert.ToString(qs["user"]);
string password = qs["password"];
string api_id = qs["api_id"];
string to = qs["to"];
string text = qs["text"];
string from = qs["from"];
WebOperationContext.Current.OutgoingResponse.StatusCode = HttpStatusCode.OK;
WebOperationContext.Current.OutgoingResponse. = HttpStatusCode.OK;
return "Some String";
}