【发布时间】:2016-01-16 05:47:47
【问题描述】:
我编写了一个 WCF 服务,它公开了大量的方法,每个方法基本上都是一个数据库查询。然而有多个数据库,所以现在每个方法都有一个第一个参数是数据库的名称。
在客户端,一个会话只使用一个数据库,所以我不想每次调用服务时都传递数据库的名称。理想情况下,我想首先将数据库名称发送到服务,该服务将其存储在内存中以供将来所有查询使用。问题是我的客户端是用经典的 ASP 编写的,因此我使用的是 basicHttpBinding,因此服务器上的调用之间没有持久性。
我现在的问题是,是否有另一种方法,如果没有,我将如何很好地实现它,所以我在每个方法签名中都没有数据库名称。
我当然可以使用命令模式之类的东西,并为每次调用创建一个包含必要数据的对象(包括使用继承的数据库名称),但这会导致很多类(在服务器上和 在客户端)。另一种选择是使用字典,但是我的服务器方法没有指定它的参数,这使得它更难维护。我曾考虑过使用反射,但这对我来说似乎有点矫枉过正......
有什么建议吗?
【问题讨论】:
标签: .net wcf session persistence