Sì, il MSDN documentation è abbastanza chiaro:
C#
public ClientCredentials Credentials { get; }
La proprietà solo ha un get
di accesso - senza accesso set -> E 'in sola lettura.
anche nella documentazione MSDN:
Commento
I ClientCredentials oggetto è memorizzato come un tipo di comportamento di endpoint e possono sono accessibili attraverso la struttura comportamenti.
Il metodo OnOpened inizializza una Copia in sola lettura delle ClientCredentials oggetto per la fabbrica .
Quindi cosa stai facendo qui ??
UPDATE: non è possibile impostare le credenziali utente che il proxy client deve utilizzare nella fabbrica del canale. Vai a questa excellent blog post su come farlo comunque - con un po 'di una deviazione:
- primo luogo, rimuovere il comportamento predefinito endpoint dalla fabbrica
- secondo luogo, istanziare le proprie credenziali
in terzo luogo, impostare quelli nuove credenziali come nuovo comportamento endpoint sulla fabbrica
// 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
sembra un po 'strano e complicato, ma che sembra essere l'o solo ed unico modo per raggiungere questo obiettivo!
fonte
2010-03-07 20:55:10
ok..so dove dovrei metterlo? –
ma guarda il mio codice..primo creo un canaleFactory..quindi imposto le credenziali. –
ma non posso perché il mio _Channel è di tipo IWCFSeekFactory –