這剛剛發生在我身上。在我的代碼,我需要在一個指定的用戶分配到Roles
SqlRoleProvider.GetRolesForUser混淆:'對象引用未設置爲對象的實例'
這裏是什麼在我的代碼:
string[] roles = {};
SqlRoleProvider fxSRP = new SqlRoleProvider();
string id = Request.QueryString["UserName"] as string;
string userName = id;
現在這一切很好,但是當我到達此位:
roles = fxSRP.GetRolesForUser(userName);
該系統拋出那個被遺棄的Object reference not set to an instance of an object
異常。說實話,我已經讓我堅持了幾分鐘。但是,當我改變的代碼,這個小位(這是一個顯式調用,對吧?):
roles = Roles.GetRolesForUser(userName);
代碼工作。我可以爲用戶檢索Roles
,然後根據需要使用它們。
我想知道,爲什麼使用來自SqlRoleProvider
的GetRolesForUser
不起作用?因爲這可能會發生在我將要使用的下一代代碼中,即使用RemoveUsersFromRoles
和AddUsersToRoles
。此外,該程序正在尋找什麼樣的實例?我沒有實例化該方法的工作?
幾乎所有的'NullReferenceException'都是一樣的。請參閱「[什麼是.NET一個NullReferenceException?](http://stackoverflow.com/questions/4660142/what-is-a-nullreferenceexception-in-net)」獲得一些提示。 –