我有一個項目A,它具有對WCF服務的服務引用。我想在沒有服務引用的情況下調用項目B中的服務。 據我所知,服務引用只是一種生成代理和配置的方式,並且不會在運行時使用。 我將代理類和節點從項目A複製到項目B.在沒有服務引用的情況下調用WCF服務
我可以在項目B中創建代理類的實例,並期望它可以直接使用配置。物品和連接到服務沒有任何其他? (我現在不能試試)
我有一個項目A,它具有對WCF服務的服務引用。我想在沒有服務引用的情況下調用項目B中的服務。 據我所知,服務引用只是一種生成代理和配置的方式,並且不會在運行時使用。 我將代理類和節點從項目A複製到項目B.在沒有服務引用的情況下調用WCF服務
我可以在項目B中創建代理類的實例,並期望它可以直接使用配置。物品和連接到服務沒有任何其他? (我現在不能試試)
簡短回答是的。
只要你有接口,一種連接到服務的方式,你可以創建一個通道並與服務交談,而無需參考。
該參考文件使您更容易針對性開發。
研究從ChannelFactory服務合同中創建渠道。
這是一個工作副本。對我來說,工作正常,返回列表
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; }
}
通過「的方式連接到服務」你的意思是Web服務或一些.NET類的只是網絡可用性我必須使用? – 2011-02-24 19:01:21