【发布时间】:2019-01-06 04:33:13
【问题描述】:
我正在尝试从异步方法返回一个字符串。代码如下。
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;
}
我面临的错误是“StringBuilder 不包含 'Getawaiter' 的定义”。
【问题讨论】:
标签: .net-core async-await