2 Stimmen

Problem bei der Implementierung von Paul Johnsons Web Widget Code, es funktioniert in VS 2008 aber nicht bei der Bereitstellung auf IIS 6.0

Unter Verwendung der Anweisungen von Paul Johnson's Web Widgets Seite habe ich mein eigenes benutzerdefiniertes Widget erstellt. Da ich jedoch auf IIS 6.0 bereitstellte, verwendete ich die web.config-Änderung empfohlen um die Seite zu rendern, da die IIS 7.0-Konfigurationsverwaltungsoption in IIS 6.0 nicht verfügbar war.

Das Widget wird beim Debuggen mit VS 2008 korrekt wiedergegeben. Sobald die Dateien und die aktualisierte web.config jedoch auf dem Windows 2003 Server mit IIS 6.0 bereitgestellt werden und die Adresse referenziert wird, wird der Fehler "Die Seite kann nicht gefunden werden" angezeigt.

Der Entwicklungscomputer ist ein Windows Vista-Rechner, aber da VS 2008 seinen eigenen internen Webserver und nicht Vistas IIS 7.0 für das Debugging verwendet, habe ich nicht geglaubt, dass dies ein Problem sein würde.

Für jede Hilfe bei der Fehlersuche wäre ich sehr dankbar.

2voto

AnthonyWJones Punkte 182582

Seine Anweisungen sind unvollständig. Sie müssen auch eine Skript-Zuordnung in der Anwendungskonfiguration für .jss zur aspnet_isapi.dll in Windows hinzufügen \microsoft.NET\framework\vXXXX\ Verzeichnis.

IIS6 verfügt nicht über die integrierte Pipeline, die in Cassini integriert ist und in IIS7 standardmäßig vorhanden ist.

Editar : Einzelheiten

  • Öffnen Sie im IIS-Manager die Anwendungseigenschaften.
  • Wählen Sie die Registerkarte Home Directory
  • Klicken Sie auf Konfiguration...
  • Wählen Sie den Eintrag in der Zuordnungsliste für .aspx, klicken Sie auf Bearbeiten...
  • Markieren und kopieren Sie den Inhalt des Textfeldes Ausführbar und klicken Sie auf Abbrechen.
  • Klicken Sie auf Hinzufügen...
  • In das Textfeld "Ausführbar" einfügen
  • Geben Sie .jss in das Textfeld Erweiterung ein
  • GET eingeben. HEAD in das Feld Limit to: ein.
  • Sie müssen möglicherweise Verify that file exists deaktivieren

Okay, das war's dann wohl.

Jetzt wird eine URL mit der Endung .jss zur Bearbeitung an ASP.NET übergeben.

0voto

MattH Punkte 1967

Ein paar andere Änderungen, die ich vornehmen musste...

Änderung der Konfiguration (Handler sollte auf EventsWidget, nicht WidgetBase, abgebildet werden):

<system.web>
<httpHandlers>
<add verb="GET,HEAD" path="eventswidget.jss" type="Demo1.Handlers.EventsWidget, Demo1" validate="false" />
</httpHandlers>
</system.web>

EventsWidget.BuildOutput sollte Javascript zurückgeben (je nachdem, wie Sie das 'script'-Tag in Default.aspx gesetzt haben):

Public Overrides Function BuildOutput() As String
    Dim sOutput As String = "document.write('<br><b>Hello World</b>');"
    Return sOutput
End Function

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X