gpt4 book ai didi

asp.net - 随机错误 500 "The ConnectionString property has not been initialized"

转载 作者:行者123 更新时间:2023-12-01 06:43:51 24 4
gpt4 key购买 nike

自从我们的网站于 2010 年 7 月上线以来,我一直在使用相同的 ConnectionString,并且在连接和与我们的数据库交互方面从未遇到任何问题。
但是,自 2011 年 7 月以来,我不断收到随机的“ConnectionString 属性尚未初始化”错误。

  • 错误是如何发生的?

  • 我们的网站在可变的时间段内运行良好(从几个小时到几周,尽管我注意到今天更多的是几个小时),这意味着使用数据库的查询工作正常,人们可以登录等。然后,在在某些时候,connectionString 错误就会发生。
    从这一刻起,我们的网站变得无法访问,并且不断为我们尝试访问的任何页面返回此错误。
    有时,在 10-15 百万之后,我们的网站会自己重新上线,并且运行良好,直到错误再次弹出。但大多数时候,我必须使用以下 3 种方法之一才能使其再次工作:

    1) 再次保存 Web Config 文件,无需添加/更改任何内容
    2)在IIS中停止和启动站点
    3)重启服务器

    我们的服务器上也有开发站点。然而,它 从不把这个随机错误扔给我。我们的开发站点和生产站点的唯一区别是Web Config中的数据库、sql用户和身份验证模式不同(生产= Windows,开发=表单)
  • 自 2010 年 7 月以来,我们的服务器发生了哪些变化?

  • .net 框架在 2011 年 3 月从 3.5 升级到 4。
    自 2011 年 6 月以来,站点物理目录已从原始 IIS 目录移动到同一服务器上的另一个分区(基本上,只是站点目录的剪切/粘贴和 IIS 中应用程序物理路径的更改)。
    每次有更新时都会应用 Windows Server 2008 更新。
  • 我试图解决这个问题?

  • 1) 首先,我尝试再次将我们的站点目录放回 IIS inetpub/wwwroot。它没有改变任何东西。
    2)我尝试在我们的生产站点上设置与开发站点相同的目录权限。依然没有。
    3)我比较了两个应用程序池的开发/生产,但没有任何区别。
    4) 当然,我在许多网站上搜索过是否有人也遇到过这个问题。我发现的与我的问题最相关的主题是这个:
    Web.config - ConnectionString property has not been initialized
    但是,我不明白如何检查“在我的 Web 根文件夹中随机应用的权限”。
  • 发生错误时主页上的堆栈跟踪 :

  • at System.Data.SqlClient.SqlConnection.PermissionDemand()  
    at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
    at System.Data.SqlClient.SqlConnection.Open()
    at System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
    at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
    at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet)
    at Database.listeCategories(enuTypeCategorie typeCategorie, enuOrdre ordre, enuActif actif, Boolean withFirstRow, Boolean libTous)
    at user_controls_criteresAnnonce.set_secteur(Int32 value)
    at user_controls_criteresAnnonce.initValues()
    at _default.Page_Load(Object sender, EventArgs a)
    at System.Web.UI.Control.LoadRecursive()
    at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

    由于错误与弹出的任何页面有关,因此来源始终不同。
  • 系统信息 :

  • 这些站点(开发和生产)在带有 IIS 7 的 Windows Server 2008 SP2 上运行。
    数据库在 SQL Server 2005 下运行。
    .NET 框架是 4(在服务器管理器中编写的 ASP 版本:ASP.NET 4.0.30319.0)。

    ConnectionString 以以下模式存储在 Web Config 文件中:

    <connectionStrings>
    <add name="BosstobossDbBase" connectionString="Server=server_ip; Database=database_name; User=login; password=pass" providerName="System.Data.SqlClient"/>
    </connectionStrings>

    在任何数据库连接尝试之前, connectionString 会影响到这样的 SqlConnection 对象(conn 在类中声明):

    conn = New SqlConnection()
    conn.ConnectionString = ConfigurationManager.ConnectionStrings("BosstobossDbBase").ConnectionString
    conn.Open()

    如果您需要更多信息,请随时问我。我对此不知所措......任何帮助都会很乐意接受。
    谢谢!

    此致,
    凯文

    最佳答案

    我会将 web.config 文件更改为此,看看它是否有帮助:

     <connectionStrings> 
    <remove name="BosstobossDbBase" />
    <add name="BosstobossDbBase" connectionString="Server=server_ip; Database=database_name;User=login; password=pass" providerName="System.Data.SqlClient"/>
    </connectionStrings>

    关于asp.net - 随机错误 500 "The ConnectionString property has not been initialized",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7809420/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com