URL dinâmica de WCF Web Service
-
06-07-2019 - |
Pergunta
Eu estou tentando servir documentos do Excel que tenho armazenados em um banco de dados através de um feed RSS WCF (o usuário clica em um link na alimentação e envia um documento Excel específico).
Os arquivos do Excel não estão sentados em um diretório em qualquer lugar (caso em que eu poderia apenas dar a cada usuário um URL estático).
Então, o que eu gostaria de fazer é ter uma URL gerada dinamicamente no feed RSS (que indicaria a ID do documento). Quando o usuário clica no URI ele vai para um webservice WCF que desserializa o documento Excel fora do banco de dados e envia para o usuário (que deseja obter o diálogo padrão de documento Open / Save Excel).
Infelizmente eu não consigo obter o serviço web para enviar um documento que o cliente entende é um documento Excel. I figura que eu preciso fazer alguma coisa com o ponto final ou alguma configuração MIME no IIS ou algo completamente diferente, mas eu ainda não descobri o que é isso.
Note, eu estou usando WCF hospedado no IIS 7.0.
Muito obrigado antecipadamente !!!
Solução
Você não dão muita informação específica, mas pode ser que você não definir o tipo de MIME. Não sei o que você já fez, mas você pode fazer o que quiser usando o WCF descansar Programação Modelo .
Os pontos-chave são:
- retornar um fluxo em sua interface
- definir o tipo de MIME: WebOperationContext.Current.OutgoingResponse.ContentType = "application / vnd.ms-excel";
- usar o WebHttpBinding e WebHttpBehavior
MSDN tem um exemplo completo que retorna um JPEG que deve fazer exatamente o que você quer (exceto a mudança do tipo JPEG MIME a um tipo Excel MIME como acima).
Boa sorte.