WCFファシリティがクライアント構成でユーザー名のクレデンシャルを設定できない理由がわかりません。誰かが私がどこで間違っているのか見ることができますか?
IServiceがコンテナーから解決されると、ClientCredentials.UserName.UserNameとPasswordはnullになります。エンドポイントの同等物も同様です。クレデンシャル参照はまったく設定されておらず、すべてnull値のままです。
container
.Register(
Component
.For<IService>()
.ImplementedBy<ServiceClient>()
.AsWcfClient(
new DefaultClientModel
{
Endpoint = WcfEndpoint
.FromConfiguration("binding"),
}
.Credentials(
new UserNameCredentials(
"username",
"password"))));
バインディングとエンドポイントの構成はapp.configファイルから正しく取得されています。これは純粋に私が解決する必要のある認証です。
完全を期すために:
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="binding" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00" allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard" maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536" messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered" useDefaultWebProxy="true">
<readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384" maxBytesPerRead="4096" maxNameTableCharCount="16384" />
<security mode="TransportWithMessageCredential">
<message clientCredentialType="UserName" algorithmSuite="Default" />
</security>
</binding>
</basicHttpBinding>
</bindings>
<client>
<endpoint address="http://___________________" binding="basicHttpBinding" bindingConfiguration="binding" contract="Namespace.Class" name="binding" />
</client>
</system.serviceModel>