在 C# 异步方法中设置变量值

用户122222

我有我在async方法中设置接收器的模型,然后如果电子邮件是 XI 类型,则需要从其他两个对象生成 URL。然而model.Url,当接收者被分配时不会被分配。我应该如何修复它才能同时适用于两者?

private async Task GenerateUrl(Model model)
{
    var urlModel = GetUrlByOrganizationId(model.OrgId);
    var org = GetOrg(model.Id);
    model.Url = brand.Domain + org.Name;
    await Task.FromResult(model.Url);
}

private async Task<Email> GenerateEmail(User receiver, Guid brandId)
{
    var model = new Model()
    {
        title = "",
        Organization = organization,
        Url = string.Empty
    };

    try
    {
        await model.SetReceiverAsync(receiver, 0, model.Locale, model.Dialect);
        await this.GenerateUrl(model);
    }
    catch (Exception exc)
    {
        this.Log(LogLevels.Warning, exc.Message);
        return null;
    }


    // Send email
    var email = Sender.RenderModel(template, model);
    return email;
}

我想用model.Urlvar email = Sender.RenderModel(template, model);线

毫米8

目前还不清楚为什么GenerateUrl被定义为async方法并返回一个Task. 如果它只是设置Url模型属性,它应该像这样定义:

private void GenerateUrl(Model model)
{
    var urlModel = GetUrlByOrganizationId(model.OrgId);
    var org = GetOrg(model.Id);
    model.Url = brand.Domain + org.Name;
}

并没有调用await

this.GenerateUrl(model);

如果您打算从该方法返回 URL,则返回类型应该是stringor Task<string>(尽管鉴于当前的实现,后者没有多大意义):

private async Task<string> GenerateUrl(Model model)
{
    var urlModel = GetUrlByOrganizationId(model.OrgId);
    var org = GetOrg(model.Id);
    model.Url = brand.Domain + org.Name;
    return Task.FromResult(model.Url);
}

private async string GenerateUrl(Model model)
{
    var urlModel = GetUrlByOrganizationId(model.OrgId);
    var org = GetOrg(model.Id);
    model.Url = brand.Domain + org.Name;
    return model.Url;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

变量值如何存储在C中?

来自分类Dev

在 C# 中设置名称通过字符串传递的变量值

来自分类Dev

C ++入门-变量值

来自分类Dev

C#-锁定变量值的方法(线程)

来自分类Dev

在C#中重新分配变量值

来自分类Dev

如何在C#中更改SSIS变量值

来自分类Dev

暂停程序以检查C#中的变量值

来自分类Dev

目标C中“ for in”循环后的循环变量值

来自分类Dev

在委托中动态链接变量值的C#问题

来自分类Dev

意外的全局变量值;C ++中的skewheap实现

来自分类Dev

在c#.net中访问动态变量值

来自分类Dev

在C#中重新分配变量值

来自分类Dev

如何在C程序中存储变量值?

来自分类Dev

在 C# 中的程序执行之间存储变量值

来自分类Dev

结构的变量值在 c 中自动更改

来自分类Dev

父子进程的c变量值

来自分类Dev

C ++:从用户跳过变量值

来自分类Dev

如何为发布和调试模式C#设置不同的全局变量值

来自分类Dev

获取设置的成员变量值,然后传递给函数C ++

来自分类Dev

如何为发布和调试模式C#设置不同的全局变量值

来自分类Dev

如何在c#中将变量值设置为DataTable名称

来自分类Dev

如何在C / C ++中的函数调用之间使变量值持久化

来自分类Dev

C#中的Timer或WebClient以某种方式保留了先前的变量值

来自分类Dev

Javascript不会从C#代码中警告字符串变量值?

来自分类Dev

在C#应用程序中存储多个生成的变量值

来自分类Dev

C#变量值在Javascript中调用时仅更新一次

来自分类Dev

Javascript不会从C#代码中警报字符串变量值?

来自分类Dev

从Objective C中的另一个类访问变量值

来自分类Dev

在Python中使用其名称(Python字符串)在枚举中获取C变量值

Related 相关文章

热门标签

归档