1

サービス参照を含む Windows Phone 8 プロジェクト (C#) があります。http クライアント資格情報の種類を NTLM に設定することはできますか? ドメイン名、ユーザー、パスワードを提供する必要があります。

TransportCredentialOnly オプションで BasicHttpBinding を使用しています。これは *.ClientConfig ファイルで行われます。

<configuration>
 <system.serviceModel>
  <bindings>
    <basicHttpBinding>
     <binding name="WSSoap" maxBufferSize="XXX" maxReceivedMessageSize="XXX">
       <security mode="TransportCredentialOnly" />
      </binding>
        </basicHttpBinding>
      </bindings>
      <client>
        <endpoint address="http://<address>" binding="basicHttpBinding"
            bindingConfiguration="WSSoap" contract="WorkListService.WSSoap"
            name="WSSoap" />
      </client>
  </system.serviceModel>
 </configuration>

ただし、ClientCredentialType を NTLM に設定し、ServiceCredentials (ドメイン、ユーザー名、およびパスワード) を提供する必要もあります。

これは、生成されたサービス クラスの部分的な ConfigureEndpoint メソッドを実装することにより、Windows ストア アプリで簡単に実行できます。しかし、Windows Phone 8 でそれを行う方法がわかりません。

UserName と Password しか利用できないことに気付きました (基本認証):

*.ClientCredentials.UserName.UserName
*.ClientCredentials.UserName.Password
4

1 に答える 1

0

電話開発の経験はありません。C# サービス レベルで行うことはどこにありますか。

Uri uri = new Uri("http://whatever.com");
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri);

NetworkCredential networkCredentials = new NetworkCredential();
networkCredentials.Domain = "Domain";
networkCredentials.UserName = "User";
networkCredentials.Password = "Pass";

CredentialCache cc = new CredentialCache();
cc.Add(uri, "Basic", networkCredentials); //NTLM can be used here, but Basic usually works.

request.Credentials = cc;
request.Method = WebRequestMethods.Http.Get;

using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
{
    ...
}
于 2013-06-18T13:26:06.543 に答える