Question

J'essaie de servir les documents Excel que j'ai stockés dans une base de données via un flux RSS WCF (l'utilisateur clique sur un lien dans le flux et envoie un document Excel spécifique).

Les fichiers Excel ne se trouvent dans aucun répertoire (où, je pourrais simplement donner à chaque utilisateur une URL statique).

Donc, ce que je voudrais, c’est d’avoir une URL générée dynamiquement dans le flux RSS (qui indiquerait l’ID du document). Lorsque l'utilisateur clique sur l'URI, il accède à un service Web WCF qui désérialise le document Excel hors de la base de données et l'envoie à l'utilisateur (il obtiendrait la boîte de dialogue standard Ouvrir / Enregistrer un document Excel).

Malheureusement, le service Web ne semble pas pouvoir envoyer un document que le client comprend est un document Excel. Je suppose que je dois faire quelque chose avec le noeud final ou un paramètre MIME dans IIS ou quelque chose d'autre, mais je n'ai pas compris ce que c'est.

Remarque: j'utilise WCF hébergé sur IIS 7.0.

Merci beaucoup d'avance !!!

Était-ce utile?

La solution

Vous ne donnez pas trop d'informations spécifiques, mais il se peut que vous n'ayez pas défini le type MIME. Vous n'êtes pas sûr de ce que vous avez déjà fait mais vous pouvez faire ce que vous voulez en utilisant la WCF Modèle de programmation de repos .

Les points clés sont les suivants:

  • renvoyer un flux sur votre interface
  • définissez le type MIME: WebOperationContext.Current.OutgoingResponse.ContentType = " application / vnd.ms-excel &;;;;;
  • utiliser les propriétés WebHttpBinding et WebHttpBehavior

MSDN contient un exemple complet qui renvoie un fichier JPEG qui devrait faites exactement ce que vous voulez (sauf changer le type MIME JPEG en un type MIME Excel comme ci-dessus).

Bonne chance.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top