У меня есть бэкэнд-сервис и интерфейсные сервисы. Они общаются через шаблон доверенной подсистемы. Я хочу перенести имя пользователя из внешнего интерфейса в бэкэнд и сделать это с помощью учетных данных, указанных здесь:
http://msdn.microsoft.com/en-us/library/ms730288.aspx
Это не работает в нашем scenerio, где внешний интерфейс создает фабрику каналов служебного канала через:
channelFactory = new ChannelFactory<IBackEndService>(.....);
Создание нового канала выполняется через фабрику каналов. Я могу установить учетные данные только один раз, после чего получаю исключение, что объект имени пользователя доступен только для чтения.
channelFactory.Credentials.Username.Username = "myCoolFrontendUser";
var channel = channelFactory.CreateChannel();
Есть ли способ создать фабрику каналов только один раз, так как это дорого создать, а затем указать учетные данные имени пользователя при создании канала?