【发布时间】:2009-08-11 07:56:19
【问题描述】:
我有一个控制台应用程序客户端,它与由不同服务器上的控制台应用程序托管的 WCF 服务通信。它使用 Windows 身份验证和安全模式 = 消息
在我更改服务以模拟客户端凭据之前,它工作得很好。我所做的更改是:
1.在服务行为中添加<serviceAuthorization impersonateCallerForAllOperations="true" />
2.在我的方法签名中添加[OperationBehavior(Impersonation = ImpersonationOption.Required)]
然后我托管我的服务,它正常运行,一切都很好。
在我的客户中,我唯一要做的就是添加:
ChannelFactory<IService1> channel = new ChannelFactory<IService1>(binding, endPoint);
channel.Credentials.Windows.AllowedImpersonationLevel = TokenImpersonationLevel.Impersonation;
然后我运行我的客户端并得到错误:
服务器没有提供有意义的回复;这可能是由于合同不匹配、会话过早关闭或内部服务器错误造成的。
还有什么我需要对客户端配置做的事情吗?
【问题讨论】: