ASP.NET [Win32异常 (0x80004005): 访问被拒绝] 错误



当我通过按 F5 在 Visuall Studio 中测试它并且它工作正常并且我可以很好地登录网页和 sql 查询过程时。 另请注意,我的SQL服务器在互联网上处于活动状态,可以使用IP地址访问。

但是当我在托管服务提供商 myasp.net 发布我的 ASP.Net 网站时,我的登录屏幕运行良好。 但是问题是当我单击登录按钮时,我收到以下错误,该错误在VS中测试时未发生。

"/"应用程序中的服务器错误。访问被拒绝 描述:一个 执行当前 Web 期间发生未处理的异常 请求。请查看堆栈跟踪以获取有关 错误及其在代码中的起源。

异常详细信息:System.ComponentModel.Win32异常:访问是 否认

源错误:

在执行 当前网络请求。有关原产地和位置的信息 可以使用下面的异常堆栈跟踪来识别异常。

堆栈跟踪:

[Win32异常 (0x80004005): 访问被拒绝]

[SqlException (0x80131904):与网络相关或特定于实例 建立与 SQL Server 的连接时出错。这 找不到服务器或无法访问服务器。验证实例 名称正确,并且 SQL Server 配置为允许远程 连接。(提供程序:TCP 提供程序,错误:0 - 访问被拒绝。
System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, SqlCredential 凭据、对象提供程序信息、字符串新密码、安全字符串 newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString userConnectionOptions, SessionData reconnectSessionData, DbConnectionPool pool, String accessToken, Boolean 应用瞬态故障处理) +1005
System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection, 数据库连接选项用户选项) +799
System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnectionPool pool, DbConnection owningObject, DbConnectionOptions options, DbConnectionPoolKey poolKey, DbConnectionOptions userOptions) +38
System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal 旧连接) +726
System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal 旧连接) +85
System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection) +449
System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource 1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection) +108
System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource
1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& 连接) +942
System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource 1 retry, DbConnectionOptions userOptions) +143
System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource
1 重试,DbConnectionOptions userOptions) +17
System.Data.SqlClient.SqlConnection.TryOpenInner(TaskCompletionSource 1 retry) +139
System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource
1 retry) +367 System.Data.SqlClient.SqlConnection.Open() +129
UserLogin_VB。Login.ValidateUser(Object sender, EventArgs e) +220
System.Web.UI.WebControls.Login.OnAuthenticate(AuthenticateEventArgs e) +109 System.Web.UI.WebControls.Login.TryLogin() +119
System.Web.UI.WebControls.Login.OnBubbleEvent(Object source, EventArgs e) +75 System.Web.UI.Control.RaiseBubbleEvent(Object source, 事件参数) +37
System.Web.UI.WebControls.Button.OnCommand(CommandEventArgs e) +120
System.Web.UI.WebControls.Button.RaisePostBackEvent(String 事件参数) +166
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String 事件参数) +10
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +31 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3450

阿肯语录:

我不认为您的提供商会允许您访问私有sql 诸如此类。如果是这种情况,则需要使用托管的 sql 并得到您的 asp.net 提供商的支持。

@Asken你是对的。。。我收到了 myasp.net 客户支持的以下回复。

尊敬的客户,

抱歉,出于性能原因,我们不允许客户连接 到远程数据库服务器。我们建议您简单地备份您的 数据库并将其还原到我们的服务器以测试您的应用程序。你会 使用此方法可获得更快的性能和可靠性。

但是,如果必须连接到远程数据库服务器,请 考虑升级到我们的高级计划或半德迪计划。一旦你 升级到这些托管计划,您可以启用所需的任何端口 您的控制面板 -> 安全管理器 -> 传出端口管理器。

别担心,我们为我们所有的人提供 60 天的全额退款 计划。

谢谢。

检查您在网络配置文件中使用了正确的登录凭据,如果是,请授予对网络组的完全访问权限

最新更新