问题描述
我们正在启动一个基于 Web 的新产品,我们计划在该产品中通过 WCF 服务公开我们的业务逻辑.我们将使用 ASP.NET 4.0、C#、EF 4.0.将来我们要基于服务构建iphone应用程序和WPF应用程序.我已经阅读了很多关于使用 POCO 与自我跟踪实体 (STE) 的信息,据我所知,STE 在 Web 场景中不能很好地工作.任何人都可以对这个问题有更多的了解吗?
We are starting a new web based product in which we are planning to expose our business logic through WCF services. We will be using ASP.NET 4.0, C#, EF 4.0. In future we want to build iphone applications and WPF applications based on the services. I have been reading a lot about using POCO vs Self Tracking Entities (STE) and from my understand the STEs do not work well with the web scenario. Can anyone shed more light on this issue?
推荐答案
对我来说 STE 是绝对错误的概念.它只是 DataSet 的另一个实现.
For me STE is absolutely wrong concept. It is just another implementation of DataSet.
- 在 ASP.NET 应用程序中,您必须在请求之间的某处存储 STE.在第一个请求中,您将查询数据源以获取 STE 并在页面中提供数据.在下一个请求(回发)中,您需要使用浏览器返回的数据修改 STE.为了支持跟踪,您必须使用与第一个请求中相同的 STE =>您必须将 STE 存储在视图状态(如果您想使用 ASP.NET WebForms)或会话中.
- STE 对于 SOA 或互操作性毫无用处.跟踪逻辑是 STE 的一部分 = 它在客户端上运行.如果您在服务中公开 STE,您会立即期望客户端将使用包含在 STE 逻辑中的相同跟踪功能.但这些功能不会自动提供给对方.在 .NET 中,您拥有它们是因为您与 STE 共享程序集.但是在其他平台上,您必须向开发人员解释如何实现 STE 逻辑以使其在您这边工作.由于 iPhone 应用程序,这对您来说可能是最受限制的情况.
这篇关于自我跟踪实体与 POCO 实体的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!