我们构建一个使用WCF服务的静态dll(具有对WCF服务的服务引用)。
静态dll具有对过程至关重要的局部静态变量。
dll将由多种类型的GUI使用。
每个人都会有十几个客户。
问题:是否可以通过将dll放入共享文件夹来为所有客户端使用一个dll?或者你能提出其他方法吗?
感谢。
答案 0 :(得分:4)
如果我错了,请纠正我,但我假设您不仅需要共享相同的DLL,而且需要跨多个客户端共享相同的状态/值。
如果DLL由几个客户端在其自己的进程中加载,那么它们将不会共享静态信息。
静态/变量仅在同一 AppDomain 中共享。因此,如果您尝试所有这些不同的客户端能够访问相同的共享状态,从共享位置加载DLL将无济于事。
在多个应用程序中使用共享信息的一种解决方案是使服务(可以是WCF)提供共享状态。
答案 1 :(得分:1)
答案 2 :(得分:0)
我不完全确定“静态DLL”是什么意思。从语言上讲,这是矛盾的(DLL意味着“动态链接库”)。如果您指的是类似静态链接的东西,.NET(AFAIK)不直接支持这样的东西。