Web サービスから情報を返します。戻りオブジェクトのクラスを作成しました。しかし、結果を各リスト項目に割り当てると、次のエラー メッセージが表示されます。
Web サービスを呼び出すと、次のメッセージが返されます。
System.ArgumentOutOfRangeException: インデックスが範囲外でした。負ではなく、コレクションのサイズより小さくなければなりません。パラメータ名:
System.Collections.Generic.List`1.get_Item(Int32 index) の System.ThrowHelper.ThrowArgumentOutOfRangeException() のインデックス NewUser.ADMethods.GetUserInfo(String userName) のインデックス
助けてください!
public class UserInformation
{
public string givenname { get; set; }
public string surname { get; set; }
}
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public List<UserInformation> GetUserInfo(string userName)
{
// Gather User Info
// Invoke Directory Searcher & Directory Entry
DirectorySearcher ds = new DirectorySearcher();
// Apply filter to search
ds.Filter = "(&(objectCategory=user)(samaccountname=" + userName + "))";
SearchResult sr = ds.FindOne();
List<UserInformation> UserInfo = new List<UserInformation>();
UserInfo[0].givenname = sr.Properties["givenname"].ToString();
return UserInfo;
}