2010-10-10 88 views
0

我正在使用WCF RIA服务和Silverlight 4构建网站。我的用户数据库,标准ASPNETDB用户存储位于我的服务器上,该服务器不在我的本地开发机器。我已经使用Silverlight业务应用程序模板创建了一个新项目。我仍然熟悉如何开发WCF RIA,所以请耐心等待。我想指出我的服务器上提到的ASPNETDB,以便我可以通过我的Web应用程序和ASP.NET网站管理工具创建用户并进行身份验证。要做到这一点,我已经编辑我的web.config如下:使用WCF RIA服务在非本地服务器上进行身份验证(Silverlight 4)

<membership defaultProvider="MySqlMembershipProvider" userIsOnlineTimeWindow="15"> 
    <providers> 
    <add name="MySqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionString="myConnectionString" applicationName="riaSilverlightSite"/> 
    </providers> 
</membership> 

而且我已经添加了我的服务器数据库的连接字符串到Web.config以及...

<add name="myConnectionString" connectionString="Data Source=server\SQLEXPRESS,2301;Database=aspnetdb;Integrated Security=SSPI;"/> 

当我尝试通过ASP.NET网站管理工具访问数据存储,但出现以下错误: “选定的数据存储存在问题,这可能是由无效的服务器名称或证书导致的,也可能是由于不足这也可能是由于未启用角色管理器功能导致的,请点击下面的按钮将其重定向到一个页面,您可以选择一个新的数据存储区

以下消息可能有助于诊断问题:尝试初始化System.Data.SqlClient.SqlConnection对象时发生错误。为连接字符串提供的值可能是错误的,或者它可能包含无效的语法。参数名:?ConnectionString的”

  1. 开发使用WCF RIA服务的应用程序时,这是工具仍然可用
  2. 我需要做在Web.config其他变化,使用户/角色的添加/编辑使用这个工具?
  3. 我需要创建特定于WCF RIA项目结构等类,以方便我的自定义服务提供商?(即域名服务类等)

先谢谢了。让我知道如果我的问题需要澄清。

回答

0

如果您的数据库不在Web服务器上,则不能使用模拟来使用SSPI身份验证。模拟工作到IIS和Web服务器框,但无法传播到另一台计算机上的SQL Server。

这是一个常见问题,至今我还没有意识到任何解决方案。您必须依靠您的Web应用程序的身份为您执行身份验证。

+0

够公平的。我想我最终会做的是创建一个包含测试数据的本地.mdf文件,这些文件将被检入到源代码控制中。 Web.debug.config将指向此本地文件。当我将解决方案部署到我的服务器时,Web.release.config将指向服务器本身的SQL数据库。 – jturinetti 2010-10-12 16:09:35