Programmieren mit dem Microsoft.HtmlTrans-Namespace
Letzte Änderung: Dienstag, 1. Februar 2011
Gilt für: SharePoint Foundation 2010
Ein Benutzer kann ein Dokument in einer Dokumentbibliothek auch dann anzeigen, wenn auf dem Clientcomputer keine Anwendung installiert ist, die zum Anzeigen des angeforderten Dokuments fähig ist. Microsoft SharePoint Foundation bietet den Microsoft.HtmlTrans-Namespace als Infrastruktur, in der benutzerdefinierte Konvertierungsanwendungen erstellt werden können, die eine HTML-Version des angeforderten Dokuments anstelle des nicht erkannten Binärdateiformats anzeigen.
Vorsicht |
---|
Die Funktion HTML-Viewer muss in der SharePoint Foundation-Zentraladministration aktiviert sein, um dies zu ermöglichen. |
Der Microsoft.HtmlTrans.Interface-Namespace besteht aus zwei Schnittstellen: IHtmlTrLoadBalancer und IHtmlTrLauncher. Eine Implementierung dieser Schnittstellen basiert auch auf der XML-Konfigurationsdatei htmltransinfo.xml, die sich auf dem Server befindet, auf dem SharePoint Foundation ausgeführt wird.
Die IHtmlTrLoadBalancer-Schnittstelle unterstützt das Auswählen des Servers, auf dem die benutzerdefinierte Konvertierungsanwendung ausgeführt werden soll.
Die IHtmlTrLauncher-Schnittstelle startet die benutzerdefinierte Konvertierungsanwendung und gibt die Ergebnisse als HTML an SharePoint Foundation zurück.
Die Datei htmltransinfo.xml leitet die Dokumentanforderung an eine Handlerseite, die dann den Lastenausgleich und die Startkomponenten aufruft. Ein Eintrag in der Konfigurationsdatei htmltransinfo.xml hat folgendes Format:
<HtmlTrInfo> <Mapping Extension="ext" AcceptHeader="application/vnd.my-app" HandlerUrl="myapphandler.aspx" ProgId=""/> </HtmlTrInfo>
Vorsicht |
---|
Änderungen an der Datei htmltransinfo.xml gehen möglicherweise verloren, wenn Sie SharePoint Foundation mit einem Service Pack oder Sicherheitspatch aktualisieren. |
Verwenden des Namespaces "Microsoft.HtmlTrans"
Die folgende Ereignisabfolge findet statt, wenn ein Benutzer ein Dokument von einem Server anfordert, auf dem SharePoint Foundation ausgeführt wird:
SharePoint Foundation bestimmt die Dateierweiterung des Dokuments in der Datei htmltransinfo.xml. Falls gefunden, ruft SharePoint Foundation das dazugehörige AcceptHeader-Attribut ab. Falls nicht gefunden, fordert SharePoint Foundation den Benutzer zum Herunterladen des Dokuments auf.
SharePoint Foundation vergleicht den Wert des AcceptHeader-Attributs mit dem Accept-Header HTTP header der Anforderung, um zu prüfen, ob der Clientcomputer den angeforderten Dokumenttyp erkennt. Falls ja, übermittelt SharePoint Foundation das Dokument im systemeigenen Format.
SharePoint Foundation ruft auch das ProgId-Attribut aus der Datei Htmltransinfo.xml und versucht, die Datei auf dem Clientcomputer mithilfe der von ProgId angegebenen Komponente zu öffnen. Wenn dieser Versuch keinen Erfolg hat, setzt SharePoint Foundation den HTML-Konvertierungsprozess fort.
Falls der Clientcomputer den angeforderten Dokumenttyp nicht erkennt, stellt SharePoint Foundation dem Benutzer folgende Frage: "Möchten Sie das Dokument für die Anzeige im Browser konvertieren?" Wenn der Benutzer verneint, fordert SharePoint Foundation ihn auf, das Dokument herunterzuladen.
Wenn sich der Benutzer für das Konvertieren des Dokuments entscheidet, leitet SharePoint Foundation die Anforderung an die vom HandlerUrl-Attribut in der Datei Htmltransinfo.xml angegebene Handlerseite um. Die Handlerseite verwaltet den Konvertierungsvorgang und übermittelt die konvertierte Datei zum Anzeigen an den Browser des Benutzers.
Implementieren einer benutzerdefinierten Dokumentkonvertierung
Zum Implementieren einer benutzerdefinierter Dokumentkonvertierung auf der SharePoint Foundation-Plattform müssen Sie Folgendes erstellen:
Einen Eintrag in der Datei Htmltransinfo.xml für den Dokumenttyp
Ein Handlerseite, die die Dokumentkonvertierung startet und die HTML-Ausgabe an den Benutzer zurückgibt
Verschiedene Komponenten für die benutzerdefinierte Konvertierung
Für das Erstellen der erforderlichen Komponenten für die benutzerdefinierte Konvertierung gibt es drei Möglichkeiten:
Erstellen benutzerdefinierter Implementierungen der Schnittstellen IHtmlTrLoadBalancerund IHtmlTrLauncher, die dazu dienen, eine benutzerdefinierte Konvertierungsanwendung zu starten und ihre Ergebnisse an SharePoint Foundation zurückzugeben
Erstellen benutzerdefinierter Konvertierungskomponenten, die nicht die Microsoft.HtmlTrans-Schnittstellen verwenden
Aufrufen der benutzerdefinierten Implementierungen der Schnittstellen IHtmlTrLoadBalancer und IHtmlTrLauncher, die als Teil des Microsoft Office 2003 Editions Resource Kits bereitgestellt werden und eine aufzurufende benutzerdefinierte Konvertierungsanwendung für die IHtmlTrLauncher-Implementierung bieten
Siehe auch
Konzepte
Namespaces im SharePoint Foundation-Objektmodell
Weitere Ressourcen
Getting Started with Programmatically Customizing a SharePoint Web Site in Visual Studio