我在这里处理一个相当奇怪的问题,并希望看看是否有人可以提供小费。
问题:当我尝试从本地 C# 应用程序使用服务时,访问数据库时失败。DataMapper 抛出一个异常,说它无法连接到数据库。但是等一下!如果我进入我的浏览器并启动 Silverlight 应用程序,然后再次尝试我的本地 C# 应用程序,它就可以工作。
我最初的想法是存在一些身份验证问题(服务使用 Windows 身份验证,但数据库连接通过连接字符串使用 SQL Server 身份验证),但我不确定这是否解释了为什么启动 Silerlight 应用程序会使堆栈的其余部分运行。我在下面提供了一些关于我工作环境的更多数据。
物理架构:在我们的应用服务器 (Windows Server 2003) 上,我们有一个 Silverlight 应用和一个 WCF 服务,Silverlight 应用依赖于在同一个虚拟目录中运行(两者都由 IIS 托管)。IIS 应用程序配置为使用 Windows 身份验证进行服务访问。后端是单独的数据库服务器上的 SQL Server 实例。在我的开发箱上,我正在开发一个需要使用上述 WCF 服务的应用程序。
工具集:Silverlight 3、SQL 2005、WCF (.net 3.5)、SQL 2005、IIS 6、IBatis DataMapper