当我在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,TaskCompletionSource1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection) +108
1重试,DbConnectionOptions userOptions,DbConnectionInternal oldConnection,DbConnectionInternal& 连接)+942
System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource
System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(的DbConnection outerConnection,DbConnectionFactory connectionFactory, TaskCompletionSource1 retry, DbConnectionOptions userOptions) +143
1重试,DbConnectionOptions userOptions)+17
System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource
System.Data.SqlClient.SqlConnection.TryOpenInner(TaskCompletionSource1 retry) +139
1 重试)+367 System.Data.SqlClient.SqlConnection.Open()+129
System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource
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
答案 0 :(得分:0)
Asken Quote:
我认为您的提供商不允许您访问私有sql 像那样。如果是这种情况,您将需要使用托管的sql 并得到您的asp.net提供商的支持。
<强> @Asken 强> 你是对的......我收到了myasp.net客户支持的以下回复。
尊敬的客户,
抱歉,出于性能原因,我们不允许客户连接 到远程数据库服务器。我们建议您只需备份一下 数据库并将其还原到我们的服务器以测试您的应用程序你会 使用这种方法可以看到更快的性能和可靠性。
但是,如果您必须连接到远程数据库服务器,请 考虑升级到我们的高级计划或半Dedi计划。一旦您 升级到这些主机方案,您可以启用您想要的任何端口 您的控制面板 - &gt;安全管理器 - &gt;外派港务经理。
不用担心,我们为所有人提供60天的全额退款 计划。
谢谢。
答案 1 :(得分:-3)
检查您是否在web-config文件中使用了正确的登录凭据,如果是,请提供对网络组的完全访问权限