0

1つのプロジェクトを含む 1つのソリューションがあります。このプロジェクトは、xsockets.net websocket サーバーを使用する asp.net mvc Web アプリケーションです (すべてが単一のプロジェクト内にマージされます)。

今日まで、すべてが数か月間機能していました。今日、エンティティ フレームワークと xsockets.net を更新することにしました。途中エラーは少なかったのですが、ほぼ全部解けました…ほぼ。

さて、websocket サーバーを実行する私のプロジェクトの一部は、正しい接続文字列を使用していません。つまり、Web アプリケーションにログインして移動できます (したがって、asp.net mvc は正しい接続文字列を使用しています) が、Websocket サーバー (同じデータベースを使用している) はデータベースからデータを収集できません。不正な接続文字列の例外。

そして、すべてが単一のプロジェクトにあり、単一の web.config ファイルがあるため、次に何をすべきかわかりません。これは websocket 関連のエラーだとは思いません。エンティティ フレームワークの更新によって何かが変更されたのでしょうか? とにかく、クラス内で接続文字列を明示的に使用する方法はありますか? それを修正するために他に何ができますか?

4

1 に答える 1

1

Entity Framework が接続してエンティティ オブジェクトを作成すると、そのデータベースへの接続文字列も確立されます。そのプロジェクトは、独自のアプリ構成 (または Web 構成) でサーバー接続文字列をオーバーライドしている別のプログラムによって参照されているため、通常、これは問題になりません。

通常、Sql Server のインスタンスに接続するときのコードでは、次のコードを記述します。

 using ( MyServer context = new MyServer(myconfig.ConnectionStrings["MyServerName"]))
 {
 }

コンテキストのインスタンスを作成するときに接続文字列の提供を除外すると、エンティティ フレームワークを更新したときに作成された既定値を取得するリスクがあります。したがって、これはおそらく両方の質問に答えます。接続文字列が変更された理由です。明示的な使用は、上記のコード例です。

于 2013-09-09T19:02:55.127 に答える