gpt4 book ai didi

c# - 创建 ADO.NET DataService 客户端的最佳实践

转载 作者:行者123 更新时间:2023-11-30 17:21:29 24 4
gpt4 key购买 nike

我有基于 ADO.NET 数据服务的 Windows 窗体应用程序和服务器端服务。在 Windows 应用程序中创建和初始化一个静态数据服务客户端并在整个程序中使用它是一种不好的做法吗?例如,我可以在所有打开的表单(绑定(bind)到服务的数据上下文的对象)中使用它来调用 SaveChanges() 而不是松散跟踪。或者为每个新表单创建一个服务客户端实例会更好(因为我认为一段时间后一个静态客户端会有巨大的内存增长)?但是当我为每种形式创建一个新的客户端时,我假设我每次都创建一个到该服务的新连接..

对于在客户端应用程序中使用服务,我可能是错误的并且有点困惑。请帮助我了解它的正确工作方式。

最佳答案

实际上,DataServiceContext 类不会创建到服务的连接。它使用的 OData 协议(protocol)基于 REST,因此它是无状态的。因此,单独创建上下文甚至不会触及服务。每个操作(查询、保存更改)都会向服务发出单独且独立的请求。从服务的角度来看,它只是不相关请求的数量。如上所述,为应用程序的每个“部分”设置一个单独的上下文通常是个好主意。那是什么完全取决于您的应用程序。如果您不打算加载/跟踪大量实体(至少 1000 个),那么一个上下文可能没问题。另一方面,多个上下文使您能够通过简单地删除上下文而不调用 SaveChanges 来“取消”更新操作,这在某些应用程序中可能很方便。

关于c# - 创建 ADO.NET DataService 客户端的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3412786/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com