Я пытаюсь написать простую оболочку WCF для загрузки SyndicationFeed в качестве клиента.
Договор
[ServiceContract]
public interface IFeedService
{
[OperationContract]
[WebGet(UriTemplate="")]
SyndicationFeed GetFeed();
}
использование
using (var cf = new WebChannelFactory<IFeedService>(new Uri("http://channel9.msdn.com/Feeds/RSS")))
{
IFeedService s = cf.CreateChannel();
this.FeedItemsList.DataSource = s.GetFeed().Items;
}
Вопрос Проблема в том, что служба добавляет имя метода к URL-адресу (т. е. указанный выше URL-адрес вызовет http://channel9.msdn.com/Feeds/RSS/GetFeed), и поскольку я хочу, чтобы это распространялось на любой канал, я не всегда знаю имя подача. Есть ли атрибут или свойство, которое я могу указать, который будет использовать адрес конечной точки по умолчанию вместо добавления имени метода?
Обновление. Добавление [WebGet (UriTemplate = "")] помогает мне лишь частично. Он работает для http://channel9.msdn.com/Feeds/RSS, меняет его на http://channel9.msdn.com/Feeds/RSS/, но это не так t работает для других каналов, например http://weblogs.asp.net/scottgu/atom.aspx, который меняется на http://weblogs.asp.net/scottgu/atom.aspx/