Frage

Ich versuche, Excel-Dokumente zu dienen, die ich in einer Datenbank über einen WCF RSS-Feed gespeichert habe (der Benutzer auf einen Link in dem Vorschub klickt und es sendet ein bestimmtes Excel-Dokument unten).

Die Excel-Dateien sitzen nicht in einem Verzeichnis, wo jeder (in diesem Fall konnte ich nur jedem Benutzer eine statische URL geben).

Also, was ich möchte ist eine dynamisch generierte URL in dem RSS-Feed zu tun hat (die die ID des Dokuments anzeigen würden). Wenn der Benutzer die URI klickt auf einen WCF Webservice geht, die das Excel-Dokument aus der Datenbank deserialisiert und sendet sie an den Benutzer (sie den Standard Open / Save Excel-Dokument Dialog bekäme).

Leider kann ich nicht scheinen, um den Web-Service zu erhalten, ein Dokument zu senden, dass der Kunde versteht, ist ein Excel-Dokument. Ich vermute, dass ich etwas mit dem Endpunkt oder einer MIME-Einstellung in IIS oder etwas ganz anderes tun müssen, aber ich habe nicht herausgefunden, was das ist.

Beachten Sie, ich bin mit WCF auf IIS 7.0.

Vielen Dank im Voraus !!!

War es hilfreich?

Lösung

Sie geben nicht zu viel, spezifische Informationen, aber es könnte sein, dass Sie nicht den MIME-Typ festgelegt haben. Nicht sicher, was Sie bereits getan haben, aber Sie können tun, was Sie möchten, mit der WCF Rest-Programmiermodell .

Die wichtigsten Punkte sind:

  • gibt einen Stream auf Ihrer Schnittstelle
  • Geben Sie den MIME-Typ: WebOperationContext.Current.OutgoingResponse.ContentType = "application / vnd.ms-excel";
  • verwenden, um das WebHttpBinding und WebHttpBehavior

MSDN hat ein vollständiges Beispiel, das eine JPEG gibt die sollte genau das tun, was Sie wollen (mit Ausnahme des Typs JPEG MIME ändern in eine Excel-MIME-Typ wie oben).

Viel Glück.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top