决定使用 PerSession 还是 PerCall 的一般经验法则是什么?
我有一个稍微重(我认为..)的 WCF 服务,其中包含大约 80 个表的 CRUD 方法。
我已将 WCF 服务分为 1 项服务中的 7 个合同(即 1 项服务中的 7 个端点),以便每个合同都处理自己的域,例如我有一个销售合同,因此所有与销售相关的表及其相应的操作在销售“有界上下文”内
所以我的 WCF 服务结构看起来像这样:
public partial class ABCService : ISalesService
{
//CRUD methods of all tables related to Sales
}
public partial class ABCService : IMarketingService
{
//CRUD methods of all tables related to Marketing
}
public partial class ABCService : ICustomerService
{
//CRUD methods of all tables related to Customer
}
public partial class ABCService : IProductService
{
//CRUD methods of all tables related to Products
}
我对 PerCall 的担忧是,因为我有一个相当大的 DB/WCF 服务,我担心每次调用所消耗的资源量乘以用户数量和他们调用服务的速率,将是太棒了。
我不知道细节,但我读过创建通道代理是昂贵的操作。
哦,我使用手动编码的代理而不是 VS 的添加服务引用来使用我的 WCF 服务。
所以,我的问题是,我应该使用哪个?PerSession 还是 PerCall?
更新:
- 我不需要在通话之间维护状态。
- 我正在使用 NetTCP 绑定