2

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>
4

0 に答える 0