当前位置:编程学习 > C#/ASP.NET >>

为什么要重新上传web.config才可以

用网站sitemap生成器生成网站地图时会出现运行不过去,发现是以下问题:

ExecuteScalar 要求已打开且可用的连接。连接的当前状态为已关闭。 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 

异常详细信息: System.InvalidOperationException: ExecuteScalar 要求已打开且可用的连接。连接的当前状态为已关闭。

源错误: 

执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。  

堆栈跟踪: 


[InvalidOperationException: ExecuteScalar 要求已打开且可用的连接。连接的当前状态为已关闭。]
   System.Data.SqlClient.SqlConnection.GetOpenConnection(String method) +925120
   System.Data.SqlClient.SqlConnection.ValidateConnectionForExecute(String method, SqlCommand command) +9
   System.Data.SqlClient.SqlCommand.ValidateCommand(String method, Boolean async) +99
   System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result) +73
   System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) +32
   System.Data.SqlClient.SqlCommand.ExecuteScalar() +137
   Category.GetCategoryName(Int32 nCategoryID) +141

[Exception: ExecuteScalar 要求已打开且可用的连接。连接的当前状态为已关闭。]
   Category.GetCategoryName(Int32 nCategoryID) +198
   WebUtility.GetCateName(Int32 categoryId) +199
   product.Page_Load(Object sender, EventArgs e) +107
   System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +15
   System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +33
   System.Web.UI.Control.OnLoad(EventArgs e) +99
   System.Web.UI.Control.LoadRecursive() +47
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1436
 
然后我就再上传web.config就可以了
没有运行网站sitemap生成器时,网站好好的
但是一运行就出现以上的问题
大家帮帮忙一下啊 --------------------编程问答-------------------- mark --------------------编程问答--------------------  System.Data.SqlClient.SqlConnection.GetOpenConnection中代码逻辑有问题. 增加检查数据库的连接是否正常的代码.可能数据库连接在某个地方给意外关闭了. 

重新上传之后可以使用是因为web.config修改之后,应用实例池会重新启动.
--------------------编程问答-------------------- mark --------------------编程问答-------------------- 2楼说的是对的,本人遇到过类似问题,其实不是web.config,你重新上传一个其它文件,程序也会转为正常,因为应用池重启了,问题的根本还是数据库连接类有逻辑问题,仔细检查一下。 --------------------编程问答-------------------- 连接被关闭了?? --------------------编程问答-------------------- 会不会几缓存的问题 --------------------编程问答-------------------- 应该不是缓存的问题,缓存是在客户端段的多,除非你服务器使用了cache --------------------编程问答-------------------- 我在UserControl里使用了缓存
有可能吗? --------------------编程问答-------------------- 跟Web.config没有关系,应该是你上传文件导致Web程序某部分进行更新失效出现问题。
比如这里出现的问题就是没有打开数据库就是用Command执行SQL命令。 --------------------编程问答-------------------- 9 楼,UP
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,