2017-03-22 5 views
0

C#에서 백그라운드 작업을 실행하는 가장 좋은 방법은 무엇입니까?C#에서 백그라운드 작업을 실행하는 모범 사례

예를 들어, 내 응용 프로그램에서 save() 함수가 있고이 함수를 실행할 때 백그라운드에서 다른 작업을 실행하고 싶습니다. 제 경우에는 google maps geocoder를 사용하여 위도/lng.

+2

은 당신이 작업 개체를 전해 들었다 :

// example object private ObjectToSave PrepareObjectForPersistance() { return new ObjectToSave { LatLng = await ConvertAddressToLatLng(address) }; } 

그런 다음 저장() 메소드에 저장할 개체를 전달? –

+2

google for BackgroundWorker, Task, async/await – Backs

+0

예. 알고 있습니다.하지만 내 경우에 대답하는 가장 좋은 방법이 있습니까? 오래된 방법이 있습니까? 프로젝트에서 백그라운드 작업자 대신 비동기/대기 또는 작업을 사용하는 것이 더 좋습니다. 그게 내 질문에 감사합니다 ^^ –

답변

2

을 저장해야하는 모든 정보를 수집 및/또는 계산하여을 저장하는 것이 좋습니다.

이것을 고려하십시오 : 주소에서 위도/경도로의 변환이 실패한 경우. Save() 메서드는 실제로 개체를 저장하지 않습니까? Save() 메서드 이외의 로직을 사용하는 것이 좋습니다.

이 같이 할 수있는 :

public void Save(ObjectToSave obejctToSave) 
{ 
    // Do whatever has to be done to save your object 
}