代码之家  ›  专栏  ›  技术社区  ›  Yoda ESG

如何在WCF端点中返回消息?

  •  1
  • Yoda ESG  · 技术社区  · 6 年前

    我有一个终点:

    [ServiceContract]
    public interface ICheck
    {
            [OperationContract]
            [WebInvoke(Method = "GET", UriTemplate = "check")]
            Task GetCheckAsync();
     }
    

    我不知道如何返回 string 对该端点的响应。我试图回报 Task 反对,但我不能证明。

    问题 :如何将包含消息的对象返回给请求者(前端)?

    2 回复  |  直到 6 年前
        1
  •  1
  •   Vinoth    6 年前

    像这样尝试

    1)如果要返回对象

     [ServiceContract]
     public interface ICheck
     {
        [OperationContract]
        [WebInvoke(Method = "GET", UriTemplate = "check")]
        Task<objectname> GetCheckAsync();
     }
    

    在定义

    public class HelloService : ICheck
    {
        public async Task<objectname> GetCheckAsync()
        {
           // do your operation and return the object
        }
    }
    

    2)如果要返回字符串

     [ServiceContract]
     public interface ICheck
     {
        [OperationContract]
        [WebInvoke(Method = "GET", UriTemplate = "check")]
        Task<string> GetCheckAsync();
     }
    

    在定义

    public class HelloService : ICheck
    {
        public async Task<string> GetCheckAsync()
        {
           // do your operation and return the string
        }
    }
    

    如需更多说明,您可以查看以下链接

    Example

        2
  •  0
  •   Abraham Qian    6 年前

    您似乎希望从前端的服务器端获得string/json结果。 可以使用webhttpbinding发布wcf服务并使用ajax方法调用该服务。
    此外,我们应该确保操作方法返回您想要的正确类型。您可以参考以下链接。
    How can I use a WCF Service?
    如果要返回强类型对象,可以使用DataContract。
    https://docs.microsoft.com/en-us/dotnet/framework/wcf/feature-details/using-data-contracts
    如果有什么我能帮忙的,请随时告诉我。