我们正在编写一个多租户的Silverlight应用程序。用户使用Windows窗体身份验证登录,我们从表中提取该用户的连接字符串。字符串的格式为:
Data Source=1.2.3.4; Initial Catalog=database; Persist Security Info=True; User ID=######; Password=##########
这很好用。然后我们决定设置应用程序名称,原因outlined here将是一个好主意:
Data Source=1.2.3.4; Initial Catalog=database; Application Name=application; Persist Security Info=True; User ID=######; Password=##########
但是,现在没有建立连接,所以我们遇到了错误。这仅在部署的站点上失败。通过Visual Studio运行显然不受影响。进行连接的代码没有任何变化。我愿意相信应该有变化,但我无法弄清楚它们应该是什么。
正在创建连接:
public class OurDataContext : DataContext
{
public OurDataContext()
: base(SessionCache.OurConnectionString)
{
....
}
}
SessionCache.OurConnectionString
是从数据库中读取的字符串。
更新
连接字符串的更改可能是红鲱鱼。我们只在一台Web服务器上遇到此故障(我无法直接访问该服务器)。将该属性添加到另一个Web服务器(我 有权访问)引用的数据库不会重现该问题。这使我得出结论,错误在其他地方。但是,我仍然没有接近解决这个问题。
实际错误是一个例外:
An exception of type 'System.ServiceModel.DomainServices.Client.DomainOperationException' occurred and was caught.
------------------------------------------------------------------------------------------------------------------
01/31/2012 14:18:53
Type : System.ServiceModel.DomainServices.Client.DomainOperationException, System.ServiceModel.DomainServices.Client, Version=2.0.5.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
Message : Load operation failed for query 'GetUserSecurityConfig'. The remote server returned an error: NotFound.
Status : ServerError
ErrorCode : 0
Data : System.Collections.ListDictionaryInternal
Stack Trace : The stack trace is unavailable.
我今天所做的所有研究都返回了不应该更改的一些相当基本的事情:
答案 0 :(得分:1)
问题原因是服务器上安装了RIA服务版本。
我们最近通过NuGet包管理器将项目更改为包含RIA服务,并且此服务器已安装了VSIA10的RIA服务。当我们对它进行分类时,一切都会重现生机。
目前尚不清楚为什么这个问题花了这么长时间才显现出来。
答案 1 :(得分:0)
我们只在一台Web服务器上遇到此故障(我无法直接访问该服务器)。将该属性添加到另一个Web服务器(我有权访问)引用的数据库中不会重现该问题。
检查webserver配置并确保数据库安装正确。
对我来说看起来像webserver config / db installion。