У меня есть служба Windows, которая запускает службу привязки WCF Net Tcp. Вся информация о привязке и конечной точке устанавливается программно.
_host.AddServiceEndpoint(typeof(IService), new NetTcpBinding(), serviceName);
В sharepoint я обращаюсь к этой услуге с использованием фабрики каналов:
var channelFactory = new ChannelFactory<IService>(
new NetTcpBinding(),
new EndpointAddress(new Uri(connectionUrl))
);
return channelFactory.CreateChannel();
Этот код работал нормально с использованием SharePoint 2007. Теперь, когда мы обновляем наш сайт SharePoint до 2010 года, новая идентификация утверждений на основе форм не отправляет учетные данные клиента. Я получаю эту ошибку.
System.IdentityModel.Tokens.SecurityTokenValidationException, System.IdentityModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
The service does not allow you to log on anonymously.
Кто-нибудь знает, как заставить фабрику каналов отправлять учетные данные пула приложений? Сейчас я решил свою проблему с помощью RunWithElevatedPrivileges, но я не очень заинтересован в этом, если у меня нет другого выбора.