通过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;
    }

通过c# WCF服务返回一个输出值

你需要让你的方法像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";
    }
相关文章: