3
我正在開發一個ASP.NET MVC3網站,我正在使用Microsoft ASP.NET Universal Providers。 Web.config:在Azure和MVC中的成員角色
<connectionStrings>
<add name="MyContext" connectionString="data source=tcp:***.database.windows.net,1433;Initial Catalog=***;User Id=***;Password=***;Trusted_Connection=False;Encrypt=True;Connection Timeout=30" providerName="System.Data.SqlClient" />
</connectionStrings>
...
<roleManager defaultProvider="DefaultRoleProvider" enabled="true">
<providers>
<clear />
<add name="DefaultRoleProvider" type="System.Web.Providers.DefaultRoleProvider" connectionStringName="MyContext" applicationName="/" />
</providers>
</roleManager>
Azure中的connectionStrings正常。 通過使用查詢腳本添加的Aspnet表和storedprocedures。遷移中添加的表中的數據。我在管理入口檢查了它。 我可以獲取個人資料成員資格和個人資料數據,但下面的代碼會返回空列表。
var userName = User.Identity.Name;
var userRoles = Roles.GetRolesForUser(userName).ToList();
userName正確,表aspnet_UsersInRoles也包含正確的數據。 頁面上沒有例外。 爲什麼userRoles是空的?