WCF数据服务中的动态连接字符串需要帮助..在OnRequest()之前调用CreateDataSource()

本文关键字:OnRequest CreateDataSource 调用 帮助 服务 数据 动态 字符串 连接 WCF | 更新日期: 2023-09-27 17:59:21

我有一个在Linq2Sql数据提供程序上构建的工作WCF数据服务。到目前为止,情况看起来不错。

访问服务的客户端应用程序接受我在服务器上验证的用户和密码。但是,在服务器端,每个客户端的数据都存储在一个单独的客户端特定数据库中。因此,在用户对自己进行身份验证/标识之后,我需要能够更改数据提供程序的连接字符串。

我重写了数据上下文的CreateDataSource()方法(这似乎使我能够动态更改连接字符串,这很好)。但是,在调试过程中,我看到CreateDataSource()在OnRequest()之前启动。。。OnRequest()是我处理用户身份验证的地方,所以我还不知道他们是谁,也不知道他们在CreateDataSource()启动时是否获得授权。

有没有其他方法可以处理动态连接字符串问题,而无需在请求处理程序之前调用CreateDataSource()?或者,有没有一种方法可以延迟,或者触发服务/数据提供程序在身份验证后再次调用CreateDataSource(),这样我就可以判断用户是谁,并构造正确的连接字符串?

谢谢!

WCF数据服务中的动态连接字符串需要帮助..在OnRequest()之前调用CreateDataSource()

是否有理由可以在CreateDataSource方法中进行身份验证-首先进行身份验证,然后相应地使用适当的连接字符串创建数据源。

每次都会调用CreateDataSource方法来创建数据源的新实例。

谢谢Pratik