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

时间:2016-04-22 05:09:17

标签: c# asp.net

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

但是当我在myasp.net托管服务提供商中发布我的ASP.Net网站时,我正在使登录屏幕工作得很好。但问题是,当我单击登录按钮时,我收到以下错误,这在VS中进行测试时没有发生。

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

     

异常详细信息:System.ComponentModel.Win32Exception:Access is   拒绝

     

来源错误:

     

执行期间生成了未处理的异常   当前的网络请求。有关的来源和位置的信息   可以使用下面的异常堆栈跟踪来识别异常。

     

堆栈追踪:

     

[Win32Exception(0x80004005):访问被拒绝]

     

[SqlException(0x80131904):与网络相关或特定于实例的   建立与SQL Server的连接时发生错误。该   服务器未找到或无法访问。验证该实例   名称是正确的,并且SQL Server配置为允许远程   连接。 (提供者:TCP提供者,错误:0 - 拒绝访问。)]
  System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity   identity,SqlConnectionString connectionOptions,SqlCredential   凭证,Object providerInfo,String newPassword,SecureString   newSecurePassword,Boolean redirectedUserInstance,SqlConnectionString   userConnectionOptions,SessionData reconnectSessionData,   DbConnectionPool池,String accessToken,Boolean   applyTransientFaultHandling)+1005
  System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions   options,DbConnectionPoolKey poolKey,Object poolGroupProviderInfo,   DbConnectionPool池,DbConnection owningConnection,   DbConnectionOptions userOptions)+799
  System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(类DBConnectionPool   pool,DbConnection owningObject,DbConnectionOptions选项,   DbConnectionPoolKey poolKey,DbConnectionOptions userOptions)+38
  System.Data.ProviderBase.DbConnectionPool.CreateObject(的DbConnection   owningObject,DbConnectionOptions userOptions,DbConnectionInternal   oldConnection)+726
  System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(的DbConnection   owningObject,DbConnectionOptions userOptions,DbConnectionInternal   oldConnection)+85
  System.Data.ProviderBase.DbConnectionPool.TryGetConnection(的DbConnection   owningObject,UInt32 waitForMultipleObjectsTimeout,Boolean   allowCreate,Boolean onlyOneCheckConnection,DbConnectionOptions   userOptions,DbConnectionInternal&连接)+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重试,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   重试)+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.AttemptLogin()+ 119   System.Web.UI.WebControls.Login.OnBubbleEvent(Object source,EventArgs   e)+75 System.Web.UI.Control.RaiseBubbleEvent(Object source,   EventArgs args)+37
  System.Web.UI.WebControls.Button.OnCommand(CommandEventArgs e)+120
  System.Web.UI.WebControls.Button.RaisePostBackEvent(字符串   eventArgument)+166
  System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(字符串   eventArgument)+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

2 个答案:

答案 0 :(得分:0)

  

Asken Quote:

     

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

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

  

尊敬的客户,

     

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

     

但是,如果您必须连接到远程数据库服务器,请   考虑升级到我们的高级计划或半Dedi计划。一旦您   升级到这些主机方案,您可以启用您想要的任何端口   您的控制面板 - &gt;安全管理器 - &gt;外派港务经理。

     

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

     

谢谢。

答案 1 :(得分:-3)

检查您是否在web-config文件中使用了正确的登录凭据,如果是,请提供对网络组的完全访问权限