【发布时间】:2012-06-15 08:59:53
【问题描述】:
我们正在使用 WCF 服务以及基于证书的身份验证和 wsHttpBinding。
我已经编写了自定义类来进行身份验证。该类继承自 System.IdentityModel.Selectors.X509CertificateValidator。
public class MyX509CertificateValidator : System.IdentityModel.Selectors.X509CertificateValidator
{
public override void Validate(X509Certificate2 certificate)
{
/// Custom code goes here
}
}
这个类在web.config中配置
<behavior name="customBehavior">
<serviceMetadata httpGetEnabled="true"/>
<serviceCredentials>
<clientCertificate>
<authentication certificateValidationMode="Custom"
customCertificateValidatorType="**SampleClass.MyX509CertificateValidator** ,SampleClass"
revocationMode="NoCheck"/>
</clientCertificate>
<serviceCertificate
findValue="XXXXXXXXXXXXXXXX"
x509FindType="FindByThumbprint"
storeLocation="CurrentUser"
storeName="My"/>
</serviceCredentials>
我正在使用 Unity.WCF nuget 包向 WCF 添加 DI 支持。我的问题是我无法在上面的类中注入依赖项。 Unity 不提供此类服务。调用 WCF 时,WCF 运行时会自动调用它。
我们真的可以在上面的类中添加依赖注入支持吗?
【问题讨论】:
标签: wcf dependency-injection unity-container x509certificate