私たちのサイトが2010年7月にオンラインになってから同じConnectionStringを使用していて、データベースに接続して対話することは決してありませんでした。
2011年7月以降、私はランダムに "ConnectionStringプロパティが初期化されていません"というエラーが発生し続けます。ランダムエラー500 "ConnectionStringプロパティが初期化されていません"
- どのようにバグが発生しますか? (私は今日それが数時間以上であることに注意が、数時間から数週間まで)私たちのサイトには、データベースの作業罰金とクエリを意味し、可変の期間中に正常に動作
、人々は、ログインすることができますそして、ある時点で、connectionStringエラーが発生します。
私たちのサイトはアクセスできなくなり、私たちがアクセスしようとしているどのページでもこのエラーが返され続けます。
時には、10〜15分後、私たちのサイトはオンラインに戻って、エラーが再びポップアップするまでうまく動作します。しかし、ほとんどの時間は、私はそれが再び動作させるために3次のいずれかの方法を使用する必要があります。
1)保存のWeb設定ファイルを再度、追加することなく、/ IISでサイトを停止と開始)何
2を変更
3)サーバのリブート
開発サイトもあります。しかし、それは決して私はこのランダムなエラーを投げた。当社の開発現場や生産現場の間の唯一の違いは、当社のサーバー上で2010年7月以降に変更された何のWeb Configで異なるデータベース、SQLユーザーと真偽モード(生産= Windowsの開発=フォーム)
- ですか?
.NET Frameworkがサイトの物理ディレクトリは、基本的には(2011年6月以来、同じサーバー上の別のパーティションに、元のIISディレクトリからちょうどカットを移動された2011年3月
に3.5から4にアップグレードされました/ siteディレクトリの貼り付けとIISでのアプリケーションの物理パスの変更)。
Windows Server 2008の更新プログラムは、ある場合はいつでも適用されます。
- 私はこれを修正しようとしましたか?
1)最初に私のサイトディレクトリをIISのinetpub/wwwrootに戻してみました。それは何も変わらなかった。
2)開発サイトと同じディレクトリ権限を本番サイトに追加しようとしました。まだ何も。
3)2つのアプリケーションプールの開発/制作を比較しましたが、違いはありません。
4)もちろん、私は多数のサイトを検索して、誰かがこの問題に遭遇したかどうかを見つけました。
Web.config - ConnectionString property has not been initialized
しかし、「私のWebルートフォルダ全体にランダムに適用されたアクセス許可」を確認する方法はわかりません。ホームページ上
- スタックトレースエラーが occurrs:それはポップアップ表示時にエラーが任意のページに関係しているので
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)。
<connectionStrings>
<add name="BosstobossDbBase" connectionString="Server=server_ip; Database=database_name; User=login; password=pass" providerName="System.Data.SqlClient"/>
</connectionStrings>
し、任意のデータベース接続の試行の前に、たconnectionStringは、この(CONNは、クラスで宣言されている)のようなSqlConnectionオブジェクトに影響されます::
のConnectionStringは、次のパターンを使用してWeb設定ファイルに保存されています
さらに詳しい情報が必要な場合は、お気軽にお問い合わせください。私はこれで失われています...どんな助けも喜んで受け入れられるでしょう。
ありがとうございます!
敬具、
ケビン
ConfigurationManager.ConnectionStrings( "BosstobossDbBase")が呼び出されていますか?コード全体にConnectionStringが散在していますか?それともカプセル化しましたか? – Aheho
FYI web.configファイルを保存すると、アプリケーションプールがリサイクルされています。メモリ容量の問題がありますか? –