我讨厌使用服务引用有很多不同的原因,而是使用接口和System.ServiceModel.ChannelFactory
我希望能够在连接到WCF数据服务时使用类似的东西.
我的意思是当我创建DataService端点时,它只是DataService,为什么我不能在创建客户端时创建DataServiceContext并且可以访问MyDataService中的所有IQueryables.
例如
共同
public interface IMyDataService
{
public IQueryable<Foo> Foos {get;set;}
public IQueryable<OtherFoo> OtherFoos {get;set;}
}
Run Code Online (Sandbox Code Playgroud)
服务器
public class MyDataService : IMyDataService
{
public IQueryable<Foo> Foos {get;set;}
public IQueryable<OtherFoo> OtherFoos {get;set;}
}
public class DataService : DataService<MyDataService>
{
}
Run Code Online (Sandbox Code Playgroud)
客户
var context = new DataServiceContext<IMyDataService>();
var foo = context.Foos.First(f=>f.Id = 5);
var otherFoos = contact.OtherFoos.Where(of=>of.width > 6);
Run Code Online (Sandbox Code Playgroud)
编辑:我有一个解决方案,我创建了一个IMyDataService的代理类,但是我的理解是,这在服务器上会很难.任何人都知道使用此处详述的方法创建代理对性能的影响:http://www.codeproject.com/KB/cs/dynamicproxy.aspx
| 归档时间: |
|
| 查看次数: |
717 次 |
| 最近记录: |