WCF数据服务的客户端通道工厂

时间:2010-10-21 16:49:38

标签: wcf-data-services

我讨厌使用服务引用有很多不同的原因,而是使用接口和System.ServiceModel.ChannelFactory

我希望能够在连接到WCF数据服务时使用类似的东西。

我的意思是当我创建DataService Endpoint时,它只是DataService,为什么我不能在创建客户端时创建DataServiceContext并且可以访问MyDataService中的所有IQueryables。

例如

通用

public interface IMyDataService
{
  public IQueryable<Foo> Foos {get;set;}
  public IQueryable<OtherFoo> OtherFoos {get;set;}
}

服务器

public class MyDataService : IMyDataService
{
  public IQueryable<Foo> Foos {get;set;}
  public IQueryable<OtherFoo> OtherFoos {get;set;}
}
public class DataService : DataService<MyDataService>
{
}

客户端

var context = new DataServiceContext<IMyDataService>();
var foo = context.Foos.First(f=>f.Id = 5);
var otherFoos = contact.OtherFoos.Where(of=>of.width > 6);

编辑:我有一个解决方案,我在其中创建一个IMyDataService的代理类,但是我的理解是,这在服务器上会很难。任何人都知道使用此处详述的方法创建代理对性能的影响:http://www.codeproject.com/KB/cs/dynamicproxy.aspx

0 个答案:

没有答案