2010-10-10 84 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