Ohne Code oder Details der Sprache ist es schwer zu erraten, was das Problem sein kann, aber eine häufige, die mit asp.net auftritt, könnte Ihre Datenbank Verbindungszeichenfolge sein. Verwenden Sie eine SQL Server/Sql Server Express-Datenbank mit Ihrer Anwendung? Sie müssen die Verbindungszeichenfolge überprüfen.
Das Problem ist die Einstellung Integrierte Sicherheit = True in Ihrer Verbindungszeichenfolge. IIS verwendet die ASPNET-Windows-Anmeldung, die sich von der Windows-Anmeldung unterscheidet, die beim Ausführen von VS verwendet wird. Sie haben ein paar Optionen bekam:
- Erteilen Sie dem ASPNET Benutzer die erforderlichen Zugriffsrechte auf die Datenbank
- Verwenden Sie SQL Server-Authentifizierung: einen Benutzer auf der Datenbank als SQL-Anmeldung und geben diese Benutzername/Passwort einrichten in der Verbindungszeichenfolge und set Integrated Security = False
- Ändern Sie die Identität IIS unter zu einem, der Zugriff auf die DB ausgeführt hat.
Es kann auch andere Optionen geben, aber ich denke, diese sind am häufigsten. Welche Wahl Sie treffen, hängt von der Architektur ab, in der Sie arbeiten. Persönlich gehe ich fast immer zur Sql Server Authentifizierung mit einem Benutzernamen und einem Passwort. Die web.config kann bei Bedarf zur weiteren Sicherheit verschlüsselt werden.
die Verbindungszeichenfolge ich verwende ist von web.config Wenn ich die Anwendung als Ansicht im Browser ausführen, funktioniert es gut. Aber wenn ich es zu IIS hinzufügen und die Anwendung mit meiner IP anstelle von Loacl Host IAM ausführen, wird der folgende Fehler angezeigt: Kann die Datenbank "CONTACTINFO" nicht von der Anmeldung. Die Anmeldung ist fehlgeschlagen. Anmeldung fehlgeschlagen für Benutzer 'SQLSERVERNAME \ ASPNET'. –