Oui, le MSDN documentation est assez clair:
C#
public ClientCredentials Credentials { get; }
La propriété ne a une get
accesseur - pas accesseur set -> il est en lecture seule.
aussi dans la documentation MSDN:
Remarques
l'objet ClientCredentials est stocké comme un type de comportement de point de terminaison et peut sont accessibles par l'intermédiaire du Comportements propriété .
La méthode OnOpened Initialise une lecture seule copie des ClientCredentials objet pour l'usine .
Alors qu'est-ce que vous faites ici? MISE À JOUR: vous ne pouvez pas définir les informations d'identification de l'utilisateur que votre proxy client est censé utiliser dans la fabrique de canaux. Voir ce excellent blog post sur la façon de le faire de toute façon - avec un peu d'un détour:
- d'abord, supprimer le comportement de point final par défaut de l'usine
- d'autre part, instancier vos propres informations d'identification
troisièmement, mettre les de nouvelles lettres de créance comme un nouveau comportement de point final sur l'usine
// step one - find and remove default endpoint behavior
var defaultCredentials = factory.Endpoint.Behaviors.Find<ClientCredentials>();
factory.Endpoint.Behaviors.Remove(defaultCredentials);
// step two - instantiate your credentials
ClientCredentials loginCredentials = new ClientCredentials();
loginCredentials.UserName.UserName = CServiceCredentials.Instance.Username;
loginCredentials.UserName.Password = “Password123″;
// step three - set that as new endpoint behavior on factory
factory.Endpoint.Behaviors.Add(loginCredentials); //add required ones
semble un peu bizarre et compliqué, mais cela semble être le o ne et seul moyen d'y parvenir!
ok..so où devrais-je le mettre? –
mais regardez mon code .. d'abord je crée un ChannelFactory .. alors j'ai mis les informations d'identification. –
mais je ne peux pas comme mon _Channel est de type IWCFSeekFactory –