C# クライアントから C# ベースのサービスを利用しようとしています。
サービス メソッドの呼び出しで中断し、前のプロパティusername
とpassword
プロパティにカーソルを合わせて、それらが設定されていることを確認し、メソッドをステップ オーバーすると、正常に動作します。サービス メソッド呼び出しで中断し、すぐにユーザー名とパスワードを確認せずにメソッド呼び出しをステップ オーバーすると、object reference not set to an instance of an object
.
ユーザー名とパスワードはapp.config
ファイルから取得されており、構成値は変更されていません。
これはおそらく同期処理の問題であり、ユーザー名とパスワードが時間内に設定されていませんか? 電話を挿入しようとしましたsleep(5000)
が、役に立ちません。サービスリファレンスを何度も更新しました。
MyService.ServiceClient sc = new MyService.ServiceClient();
sc.ClientCredentials.UserName.UserName ="pinkpanther"; // comes from app.config file
sc.ClientCredentials.UserName.Password = "clouseau"; // comes from app.config file
//open service client/proxy
sc.Open();
Dictionary<int, string> result = new Dictionary<int, string>();
// Sleep(5000); this doesn't seem to help
result = sc.FindVillain("Paris", "Train", "Car3", 4);
success = result.ContainsValue("The villain has been detained.");
sc.Close();