I am trying to return a string from an async method.The code is below.
public async Task<String> AuthenticateUser(string UserID, string Password)
{
String securityToken = String.Empty;
if (UserID == "qw" && Password == "sa")
{
securityToken = await GetUniqueKey();
}
return securityToken;
}
private async Task<string> GetUniqueKey()
{
int maxSize = 8;
int minSize = 5;
char[] chars = new char[62];
string a;
a = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVW XYZ1234567890";
chars = a.ToCharArray();
int size = maxSize;
byte[] data = new byte[1];
RNGCryptoServiceProvider crypto = new RNGCryptoServiceProvider();
crypto.GetNonZeroBytes(data);
size = maxSize;
data = new byte[size];
crypto.GetNonZeroBytes(data);
StringBuilder result = new StringBuilder(size);
foreach (byte b in data)
{ result.Append(chars[b % (chars.Length - 1)]); }
string r = await result;
return r;
}
The error i face is "StringBuilder doesn't contain a definition for 'Getawaiter'".