Silverlight, WCF и переписывание ответа - PullRequest
1 голос
/ 17 июля 2009

Я пытаюсь написать службу WCF в качестве прокси для моего элемента управления Silverlight для выполнения междоменных запросов к веб-службе REST в Интернете. Я просто хочу отправить запросы в мой сервис, и он отформатирует и перенаправит запрос стороннему веб-сервису (заменит имя хоста и часть URL-адреса), а затем просто вернет ответ вызывающей стороне.

Мой подход правильный? На стороннем сервере нет файла crossdomain.xml, чтобы разрешить мой вызов в противном случае.

Мой вопрос, учитывая мой подход к службе WCF, я хотел бы переписать тело ответа в моей службе с телом ответа, полученным из сторонней службы, и, если возможно, переписать заголовок ответа, чтобы он также был получил от этого сервиса. Таким образом, это сводит к минимуму перевод, который мой веб-сервис должен делать с ответом. Могу ли я сделать это переписать? если да, то как? если нет, каковы наилучшие методы для реализации этого?

Мой интерфейс сейчас очень примитивен, что-то вроде этого, просто потому, что мне не нужно ничего больше, чем это. Ответ от стороннего сервиса - это ответ JSON.

[ServiceContract]
interface IMyProxy
{
     [OperationContract]
     [WebGet(UriTemplate = "relay/{requestOptions}")]
     string ForwardRequest(string requestOptions);
}

p.s. Мне не нужно, чтобы он работал с HTTPS, поэтому не нужно беспокоиться о проблеме «человек посередине».

1 Ответ

0 голосов
/ 17 июля 2009

Я понял это, я полагаю (WebOperationContext). У меня все еще есть проблема, что, если я дублирую «кодировку передачи» службы 3-ей части в своем ответе, я получаю неясное исключение из кишок фреймворка (что-то «NotFound») ... но это другая история.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...