如何访问.Net Web应用程序中的WCF REST服务?

问题描述:

我有一个WCF Web服务,它从Silverlight应用程序返回一个JSON字符串。我想在另一个Web应用程序的控制器方法内解析这个JSON字符串。我无法创建一个服务引用到我在Silverlight中在Web应用程序中创建的WCF服务,因为它是一个REST服务。如何在其他应用程序中访问此WCF REST服务?如何访问.Net Web应用程序中的WCF REST服务?

+0

@rene,因为它是一个REST服务,我不想创建一个服务引用 – geo

+0

当然,我只是编辑您的文章,以摆脱标签MVC。我现在添加了silverlight,因为它更符合你的问题 – rene

我可以用下面的代码来访问Web服务

using System.Net; 

public string GetWebServiceData() 
    { 
     try 
     { 
      string requestUrl = "requesturl"; 
      HttpWebRequest request = (HttpWebRequest)WebRequest.Create(requestUrl); 
      request.Method = WebRequestMethods.Http.Post; 
      request.ContentType = "application/json"; 
      request.ContentLength = 0; 
      request.Expect = "application/json"; 
      WebResponse response = request.GetResponse(); 
      StreamReader reader = new StreamReader(response.GetResponseStream()); 
      string json = reader.ReadToEnd(); 
      return json; 
     } 
     catch (Exception) 
     { 
      return new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(string.Empty); 
     } 

    } 
} 

你应该使用类似System.Net.WebRequest的东西来调用你的控制器中的WCF服务。

网上有很多关于如何正确使用它的例子。

就我个人而言,我在所有应用程序中都使用JSON.NetAngularJS