【发布时间】:2013-04-01 23:22:18
【问题描述】:
我有一个“企业”项目,它有很多很多层。 WinForms 客户端连接到 Web 服务,该服务调用业务层,该业务层从另一个系统调用转换层,该转换层又调用多个包装器以最终更新一个值。不开玩笑 - 这就是 12 年的持续发展将要做的事情。
我现在必须将一个 ID 从客户端一直传递到数据库层。 ID 必须随每个请求一起旅行。我最初的想法是一直探查它,但这会非常耗时且几乎不可能(几乎一路下来都有大量的静态疯狂)。
所以我正在考虑将此 ID 分配给 ASP.NET Web 服务应用程序的 Application_BeginRequest 中的 ThreadLocalStorage。然后最后一个与数据库通信的库可以读取该值并将其传递给数据库。
我的问题是:我可以计算从Application_BeginRequest 一直到链中最后一个库的线程亲和性吗?
【问题讨论】:
-
只要你不利用线程池等。
-
ASMX 是一项遗留技术,不应用于新开发。 WCF 应该用于 Web 服务客户端和服务器的所有新开发。一个提示:Microsoft 已停用 MSDN 上的 ASMX Forum。底线:对于任何事情,我都不会依赖它,更不用说我会依赖未记录的行为。
-
@JohnSaunders 这不是新的发展。正如我的问题所述,过去 12 年来一直在努力。
-
更有理由不指望老狗学习新技巧。
-
@JohnSaunders 你是否建议我使用一种新的闪亮技术重写整个东西,以便我可以通过系统传递一个 ID?
标签: c# asp.net web-services thread-safety asmx