1

每次客户端调用我的 WCF 服务时,我都想将该请求记录到数据库中,其中将包括该客户端的用户名等详细信息。

我目前正在对我的 WCF 服务使用自定义身份验证。

每次调用我的 WCF 服务时是否有可能以某种方式获取调用者的用户名,还是每次调用都传递用户名?

4

1 回答 1

1

要检索调用者的用户名,您可以从 System.IdentityModel.Selectors.UserNamePasswordValidator 继承并在您认为合适的时候覆盖 Validate Method。至于按调用实例化模式,WCF 会为每个调用创建新的服务实例,因此您的每个调用都应使用正确的凭据进行身份验证。我认为您可以在打开代理时指定一次凭据,并且该代理每次请求对服务进行操作时都会提供凭据(直到代理关闭并且您一起创建一个新代理)。此链接可能有用 - http://www.codeproject.com/Articles/96028/WCF-Service-with-custom-username-password-authenti

于 2013-07-29T03:04:00.813 回答