Ich habe also eine Web Application (nicht Web Site) mit ASP.NET (C #) erstellt und kompiliert in der VS13-Umgebung. Aber wenn ich es auf IIS veröffentliche, schlägt das Postback auf dem Standarddokument fehl. Das Standarddokument heißt LoginPage.aspx. Sobald ich auf den <asp:Button>
klicke, um meinen Code zu starten, wird nur die Seite aktualisiert. Dieses Projekt wurde vorerst unter meiner lokalen IP-Adresse 127.0.0.1 veröffentlicht.
Ich weiß, dass dies ein dokumentiertes Problem war, aber ich habe viele Lösungen ausprobiert und bin nicht auf eine Lösung gestoßen. Einige Lösungen, die ich versucht habe:
Ich habe auch URL-Mappings versucht:
%Vor% Ich bin ehrlich ratlos, was hier passiert. Eine Sache, die ich bemerkte, ist, wenn die Anwendung über Visual Studio ausgeführt wird, das <form>
-Tag auf der LoginPage.aspx erscheint in Chrome als:
Durch IIS:
%Vor% Nicht sicher, ob das auch ein Problem ist. Ich habe versucht, die action
auf login
zu codieren, um zu sehen, was passieren würde, und es wird auf die richtige Seite umgeleitet, aber wie vermutet wurde kein Postback ausgelöst - Meine Session-Variable gab null zurück und keine Abfragezeichenfolge wurde verwendet.
Hier ist der zugehörige FrontPage-Code von LoginPage.aspx (der einen Haufen nicht verwandten HTML-Code enthält):
%Vor%Und die LoginBtn_Click-Methode in LoginPage.aspx.cs:
%Vor%Letzte Informationen:
BEARBEITEN:
BEARBEITEN # 2:
Zusätzliche Dinge, die ich ohne Erfolg versucht habe:
("Empty URL", "", "~/Views/LoginPage.aspx")
Zusätzliche Hinweise:
debug
und nicht auf release
festgelegt
Ich entschuldige mich dafür, dass ich im OP nicht genug Informationen gegeben habe, da ich die Antwort gefunden habe. Es stellte sich heraus, dass es nichts mit ASP.NET zu tun hatte, sondern mit SQL Server
. Ich habe den Code vollständig entfernt und nach dem Hinzufügen eines Stücks Code nach dem anderen und dem Entfernen aller Ausnahmebehandlungen habe ich über IIS festgestellt, dass IIS APPPOOL\.NET vX.X
keine Berechtigungen für den Zugriff auf die Datenbank hatte.
Was ich tun musste ist:
IIS APPPOOL\.NET v4.5
hinzu.
Außerdem habe ich herausgefunden, dass es nach dem Empfang der folgenden Ausnahme die richtigen Berechtigungen zum Ausführen bestimmter Befehle benötigt:
Die SELECT-Berechtigung wurde für das Objekt 'X', Datenbank 'X', Schema 'dbo'
verweigert
db_datareader
und public
. Der Code dahinter wird jetzt ausgeführt. Es bleibt immer noch die Frage, warum Postbacks verboten wurden, selbst wenn ich irgendeine SQL-Konnektivität im dahinterliegenden Code entfernte. Sehr seltsam.
Jedenfalls dank denen, die geholfen haben.