Динамический URL из веб-службы WCF - PullRequest
0 голосов
/ 01 августа 2009

Я пытаюсь подать документы Excel, сохраненные в базе данных, через RSS-канал WCF (пользователь нажимает на ссылку в ленте, и он отправляет конкретный документ Excel).

Файлы Excel не находятся в каком-либо каталоге (в этом случае я мог бы просто дать каждому пользователю статический URL).

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

К сожалению, я не могу заставить веб-сервис отправлять документ, который, как понимает клиент, является документом Excel. Я полагаю, что мне нужно что-то сделать с конечной точкой или каким-то другим параметром MIME в IIS или чем-то еще, но я не понял, что это такое.

Обратите внимание, я использую WCF, размещенный на IIS 7.0.

Большое спасибо заранее !!!

1 Ответ

1 голос
/ 02 августа 2009

Вы не предоставляете слишком много конкретной информации, но, возможно, вы не установили тип MIME. Не уверен, что вы уже сделали, но вы можете делать то, что вы хотите, используя WCF Rest Programming Model .

Ключевые моменты:

  • вернуть поток на ваш интерфейс
  • установить тип MIME: WebOperationContext.Current.OutgoingResponse.ContentType = "application / vnd.ms-excel";
  • использовать WebHttpBinding и WebHttpBehavior

В MSDN есть полный пример, который возвращает JPEG , который должен делать именно то, что вы хотите (за исключением изменения типа JPEG MIME на тип Excel MIME, как указано выше).

Удачи.

...