相关疑难解决方法(0)

从异步方法获取结果

我的服务中有这个方法:

public virtual async Task<User> FindByIdAsync(string userId)
{
    this.ThrowIfDisposed();
    if (userId == null)
    {
        throw new ArgumentNullException("userId");
    }
    return await this.repository.FindByIdAsync(userId);
}
Run Code Online (Sandbox Code Playgroud)

然后在视图中我有这个代码:

using (var service = new UserService(new CompanyService(), User.Identity.GetUserId()))
{
    var user = service.FindByIdAsync(id);
}
Run Code Online (Sandbox Code Playgroud)

但用户是任务而不是用户.我尝试添加等待服务调用,但除非当前方法是异步,否则我不能使用await.如何访问User类?

c# asynchronous entity-framework

11
推荐指数
2
解决办法
3万
查看次数

如何获取异步任务的返回值<string> methdoName()?

我正在尝试获取我的方法的返回字符串,但问题是我不知道如何从中获取返回值public async Task<string> Login(string username, string password, string site).

这是我在Program.cs中的代码

static void Main(string[] args)
{
    var username = "Leonel.Sarmiento";
    var password = "welcome";
    var site = "QADBSite";
    var url = "na1.sabacloud.com";
    ConsoleCustomizer.Spinner Spinner = new ConsoleCustomizer.Spinner("+", "x", "+", "x");
    ConsoleCustomizer.TypeWriter TypeWriter = new ConsoleCustomizer.TypeWriter(15, 150);
    ConsoleCustomizer.Alerts Alerts = new ConsoleCustomizer.Alerts();
    Alerts.Write("Information", "HOST URL:", null);
    TypeWriter.WriteLine(@"http:\\"+url);
    Alerts.Write("Information", "USERNAME:", null);
    TypeWriter.WriteLine(username);
    Alerts.Write("Information", "PASSWORD:", null);
    for (var i = 0; i < password.Length; i++)
    {
        TypeWriter.Write("*");
    }
    Console.WriteLine("");
    SabaController saba = …
Run Code Online (Sandbox Code Playgroud)

c# task console-application async-await

9
推荐指数
1
解决办法
1万
查看次数