0

我有一个解决方案,其中包含一个项目。这个项目是一个带有 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 回答