c# - 关于在 C# 中正确使用 Task 的问题

标签 c# wcf

我有一个关于任务的问题。我有一个 WCF 应用程序,它有一个方法 ReceiveEmpInfo,该方法将从客户端应用程序调用。

WCF 服务器应用:

public void ReceiveEmpInfo(string EmpName, string EmpId)
{
    DifferentClass.SaveEmpToDB(string EmpName, string EmpId);
    return;
}

我的要求是,一旦我调用方法SaveEmpToDB(),我就想返回这个方法调用(ReceiveEmpInfo()),我不想保持客户端调用直到 SaveEmpToDB() 方法将数据保存到数据库。我正在考虑使用 Task,但我不确定它是否能解决我的需求。

请给我你的建议。

谢谢, 乔

最佳答案

是的,会的。调用 Task.Start() 后,您的 WCF 方法可以返回并且任务将在“后台”运行。您必须非常小心,尤其是当您在 IIS 中运行此 WCF 服务时。如果这些任务运行时间很长并且 IIS 应用程序池关闭(或重新启动),您的任务将 [可能] 在其工作过程中受到重创。

顺便说一句:我假设您指的是:System.Threading.Tasks.Task

关于c# - 关于在 C# 中正确使用 Task 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5265672/

相关文章:

c# - 在 ASP.NET MVC 5 中搭建外部模型

c# - 如何在 AfterReceiveRequest 中调用服务方法

WCF Global.asax 事件未触发

c# - 从 WCF 服务返回类型化数据集导致未找到 'xs:string'

c# - Datatable.Select with max(col) 和 WHERE 子句?

c# - 在 WPF (Windows.Controls.WebBrowser) 中使用 WebBrowser View 时确定页面何时完成加载

c# - 存储连接字符串

java - 在基类构造函数中调用虚方法

c# - 将 WCF 配置文件转换为代码

c# - 如何使用 AWS 身份验证保护我的 wcf 服务