2011-02-24 162 views
1

我有一個項目A,它具有對WCF服務的服務引用。我想在沒有服務引用的情況下調用項目B中的服務。 據我所知,服務引用只是一種生成代理和配置的方式,並且不會在運行時使用。 我將代理類和節點從項目A複製到項目B.在沒有服務引用的情況下調用WCF服務

我可以在項目B中創建代理類的實例,並期望它可以直接使用配置。物品和連接到服務沒有任何其他? (我現在不能試試)

回答

5

簡短回答是的。

只要你有接口,一種連接到服務的方式,你可以創建一個通道並與服務交談,而無需參考。

該參考文件使您更容易針對性開發。

+0

通過「的方式連接到服務」你的意思是Web服務或一些.NET類的只是網絡可用性我必須使用? – 2011-02-24 19:01:21

0

這是一個工作副本。對我來說,工作正常,返回列表

private List<MyClass> GetAllSiteDetailsJSON(string language) 
{ 

    Uri address = 
      new Uri(@"http://weburlpath/MyService/MyService.svc/GetAllList/" 
                    + language); 
    HttpWebRequest request = WebRequest.Create(address) as HttpWebRequest; 
    request.Method = "GET"; 
    request.ContentType = "application/x-www-form-urlencoded"; 

    using (HttpWebResponse response = request.GetResponse() as HttpWebResponse) 
    { 
     StreamReader reader = new StreamReader(response.GetResponseStream()); 
     string jSon = reader.ReadToEnd(); 
     reader.Close(); 

     JavaScriptSerializer jsSerializer = new JavaScriptSerializer(); 
     List<MyClass> result = jsSerializer.Deserialize<List<MyClass>>(jSon); 
     return result; 
    } 
} 

這裏是類

public class MyClass 
{ 
    public string ID { get; set; } 
    public string Name { get; set; }  
    public List<Location> Locations { get; set; } 
} 

public class Location 
{ 
    public string Region { get; set; } 
    public string Country { get; set; } 
} 
相關問題