Domanda

Sto cercando di pubblicare documenti Excel che ho archiviato in un database tramite un feed RSS WCF (l'utente fa clic su un collegamento nel feed e invia un documento Excel specifico).

I file Excel non si trovano in una directory in nessun punto (nel qual caso potrei semplicemente dare a ciascun utente un URL statico).

Quindi quello che mi piacerebbe fare è avere un URL generato dinamicamente nel feed RSS (che indicherebbe l'ID del documento). Quando l'utente fa clic sull'URI, passa a un servizio Web WCF che deserializza il documento Excel dal database e lo invia all'utente (otterrebbero la finestra di dialogo standard Apri / Salva documento Excel).

Sfortunatamente non riesco a convincere il servizio Web a inviare un documento che il client comprende sia un documento Excel. Immagino che devo fare qualcosa con l'endpoint o alcune impostazioni MIME in IIS o qualcos'altro del tutto, ma non ho capito di cosa si tratta.

Nota, sto usando WCF ospitato su IIS 7.0.

Mille grazie in anticipo !!!

È stato utile?

Soluzione

Non fornisci troppe informazioni specifiche ma è possibile che tu non abbia impostato il tipo MIME. Non sei sicuro di ciò che hai già fatto, ma puoi fare quello che vuoi utilizzando il WCF Riposo modello di programmazione .

I punti chiave sono:

  • restituisce uno Stream sulla tua interfaccia
  • imposta il tipo MIME: WebOperationContext.Current.OutgoingResponse.ContentType = " application / vnd.ms-excel " ;;
  • utilizza WebHttpBinding e WebHttpBehavior

MSDN ha un esempio completo che restituisce un JPEG che dovrebbe fai esattamente quello che vuoi (tranne cambiare il tipo MIME JPEG in un tipo MIME Excel come sopra).

Buona fortuna.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top