SystemWebRouting-Integrationsbeispiel
Im WebRoutingIntegration-Beispiel wird die Integration der Hostebene in die Klassen im System.Web.Routing-Namespace veranschaulicht. Mit den Klassen im System.Web.Routing-Namespace können Anwendungen URLs verwenden, die einer physischen Ressource nicht direkt entsprechen. Webrouting ermöglicht den Entwickler*innen die Erstellung virtueller Adressen für HTTP, die danach erneut tatsächlichen WCF-Diensten zugeordnet werden. Dies ist nützlich, wenn ein WCF-Dienst gehostet werden muss, ohne dass eine physische Datei oder Ressource erforderlich ist, oder wenn auf Dienste mit URLs zugegriffen werden muss, die keine Dateierweiterung wie .html oder .aspx enthalten. In diesem Beispiel wird veranschaulicht, wie mithilfe der RouteTable-Klasse virtuelle URIs erstellt werden können, die in global.asax definierten, ausgeführten Diensten zugeordnet werden.
Hinweis
Die Klassen im System.Web.Routing-Namespace können nur für Dienste verwendet werden, die über HTTP gehostet werden.
In diesem Beispiel wird WCF verwendet, um zwei RSS-Feeds zu erstellen: einen movies
-Feed und einen channels
-Feed. Die URLs zur Aktivierung der Dienste enthalten keine Dateierweiterung und werden in der Application_Start
-Methode der Global
-Klasse registriert, die von der HttpApplication-Klasse abgeleitet wird.
Hinweis
Dieses Beispiel funktioniert nur in den Internetinformationsdiensten (Internet Information Services, IIS) 7.0 und höher, da IIS 6.0 eine andere Methode zum Unterstützen von URLs ohne Erweiterung verwendet.
So verwenden Sie dieses Beispiel
Öffnen Sie die Datei „WebRoutingIntegration.sln“ in Visual Studio.
Drücken Sie F5, um die Projektmappe auszuführen und den Webentwicklungsserver zu starten.
Eine Verzeichnisliste für das Beispiel wird angezeigt. Beachten Sie, dass es keine Dateien mit der Dateierweiterung SVC gibt.
Fügen Sie der URL in der Adressleiste
movies
hinzu, sodass siehttp://localhost:[port]/movies
lautet, und drücken Sie die EINGABETASTE.Der Filmfeed (movies) wird im Browser angezeigt.
Fügen Sie der URL in der Adressleiste
channels
hinzu, sodass siehttp://localhost:[port]/channels
lautet, und drücken Sie die EINGABETASTE.Der Channelfeed wird im Browser angezeigt.
Schließen Sie den Webbrowser, indem Sie ALT+F4 drücken.
Wenn der Entwicklungsserver nicht beendet wurde, klicken Sie mit der rechten Maustaste auf das Infobereichssymbol, und wählen Sie Beenden aus.
So verwenden Sie dieses Beispiel, wenn es in IIS gehostet wird
Öffnen Sie die Datei „WebRoutingIntegration.sln“ in Visual Studio.
Erstellen Sie das Projekt, indem Sie STRG+UMSCHALT+B drücken.
Erstellen Sie eine Webanwendung im Internetinformationsdienste-Manager.
Klicken Sie im IIS-Manager mit der rechten Maustaste auf Standardwebsite, und wählen Sie Anwendung hinzufügen aus.
Geben Sie als Alias die Zeichenfolge
WebRoutingIntegration
ein.Wählen Sie unter Physikalischer Pfad den Dienstordner im Projekt aus.
Klicken Sie auf OK.
Starten Sie die Anwendung, indem Sie mit der rechten Maustaste auf die Webanwendung klicken, Anwendung verwalten auswählen und dann auf Durchsuchen klicken.
Fügen Sie der URL in der Adressleiste
movies
hinzu, sodass siehttp://localhost:[port]/movies
lautet, und drücken Sie die EINGABETASTE.Der Filmfeed (movies) wird im Browser angezeigt.
Fügen Sie der URL in der Adressleiste
channels
hinzu, sodass siehttp://localhost:[port]/channels
lautet, und drücken Sie die EINGABETASTE.Der Channelfeed wird im Browser angezeigt.
Schließen Sie den Webbrowser, indem Sie ALT+F4 drücken.
In diesem Beispiel wird gezeigt, dass die Hostebene mit den Klassen im System.Web.Routing-Namespace eingesetzt werden kann, um die Anforderungen von Diensten zu routen, die über HTTP gehostet werden.
Hinweis
Sie müssen die Standardversion des Anwendungspools auf .NET Framework 4 aktualisieren, wenn sie auf Version 2 festgelegt ist.