在 C# 中执行后台任务的最佳实践
Best practice to execute background task in c#
我想知道在 C# 中执行后台任务的最佳做法是什么?
例如,在我的应用程序中我有一个 save() 函数,当我执行这个函数时,我想 运行 在后台执行另一个任务 - 在我的例子中,使用 google 映射地理编码器以在 lat/lng.
中转换地址
我建议您在保存之前收集and/or计算您需要保存的所有信息。
考虑一下:如果从地址到 lat/lng 的转换失败。 Save()
方法是否应该实际保存对象?
我建议您将该逻辑放在 Save()
方法之外的其他地方。
你可以这样做:
// example object
private ObjectToSave PrepareObjectForPersistance()
{
return new ObjectToSave { LatLng = await ConvertAddressToLatLng(address) };
}
然后将要保存的对象传递给Save()方法:
public void Save(ObjectToSave obejctToSave)
{
// Do whatever has to be done to save your object
}
我想知道在 C# 中执行后台任务的最佳做法是什么?
例如,在我的应用程序中我有一个 save() 函数,当我执行这个函数时,我想 运行 在后台执行另一个任务 - 在我的例子中,使用 google 映射地理编码器以在 lat/lng.
中转换地址我建议您在保存之前收集and/or计算您需要保存的所有信息。
考虑一下:如果从地址到 lat/lng 的转换失败。 Save()
方法是否应该实际保存对象?
我建议您将该逻辑放在 Save()
方法之外的其他地方。
你可以这样做:
// example object
private ObjectToSave PrepareObjectForPersistance()
{
return new ObjectToSave { LatLng = await ConvertAddressToLatLng(address) };
}
然后将要保存的对象传递给Save()方法:
public void Save(ObjectToSave obejctToSave)
{
// Do whatever has to be done to save your object
}