wsHttpBindingによる証明書ベースの認証とともにWCFサービスを使用しています。
認証を行うカスタムクラスを作成しました。このクラスは、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>
WCF に DI サポートを追加するために Unity.WCF nuget パッケージを使用しています。私の問題は、上記のクラス内に依存関係を注入できないことです。このクラスは Unity によって提供されません。WCFが呼び出されると、WCFランタイムによって自動的に呼び出されます。
上記のクラスに依存性注入のサポートを本当に追加できますか?