C에서 단방향 호출 메서드를 구현하고 싶습니다. 우리는 웹 서비스에서 ONE Way 속성을 사용하여 구현할 수 있음을 알고 있습니다. Delegate와 비동기 호출을 수행했습니다. 어떤 사람이 동일한 샘플 코드를 사용할 수 있다면.C#에서 단방향 호출
답변
단방향 통화를 에뮬레이트하는 가장 쉬운 방법은 스레드 풀로 밀어 넣는 것입니다. 위 비록
ThreadPool.QueueUserWorkItem(delegate { DoSomeStuff("abc"); });
, 포장 충분히 쉬울 것이다 예외 문제에서 약간의 고통 :
(편집 :! 죄송합니다, borked 예외 처리 ... 고정)
public static void OneWay(Action action) {
if (action == null) throw new ArgumentNullException("action");
ThreadPool.QueueUserWorkItem(delegate {
try { action(); }
catch (Exception ex) {
Trace.WriteLine(ex);
}
});
}
...
OneWay(() => DoSomeStuff("abc"));
댓글 중 하나의 링크를 따라 Phil Haack 게시물이 나옵니다. Phil Haack 게시물입니다. Phil Haack 게시물입니다.이 도움말은 기본적으로 화재에 대한 배경 및 토론과 함께이 훌륭한 답변에 설명되어있는 기술입니다. 이 포스트는 "비동기식 화재 및 램다 (Lamdas)"를 잊어 버렸습니다. OneWay 메시징은 일반적으로 FireAndForget으로 알려져 있기 때문에이 답변이 바로 돈에 해당합니다. Phil의 sytax는 C# 3.0을 사용하는 경우 좀 더 간결합니다. 어느 쪽이든, 나는이 기사를 읽었을 것이다. http://haacked.com/archive/2009/01/09/asynchronous-fire-and-forget-with-lambdas.aspx – Nathan
당신은 메서드 호출
public void MyOneWay()
{
//you can replace the anonymous function with any function you define, if you want
var d = delegate(int a) { Console.Write(a);};
d.BeginInvoke();
}
참고 비동기 대리자를 포장 할 수 있습니다 : 이것은 의사입니다.
MSDN은 BeginInvoke가 EndInvoke와 쌍을 이루어야한다는 것을 매우 구체적으로 다루고 있습니다. BeginInvoke. –
여기에서 "중요 참고 사항"을 참조하십시오. http://msdn.microsoft.com/en-us/library/2e08f6yc.aspx –
@Marc는 사용자가 사용하도록 설정되었거나 장면 뒤에 있기 때문에 화가 나니? 저는 화재와 잊을 수있는 능력을 갖춘 대표단이 제공하는 것을 좋아합니다 ... – cjk
- 1. C에서 C++ 라이브러리 호출 #
- 2. C에서 동적 메서드 호출 #
- 3. C에서 비동기 호출 동기화
- 4. C에서 MATLAB 호출
- 5. C에서 클래스의 일반적인 호출 #
- 6. WCF 클라이언트에서 단방향 작업을 호출 할 때의 문제
- 7. (Windows) C에서 API 호출 모니터링
- 8. C에서 리디렉션 posix 파일 호출
- 9. C에서 C# (.NET) API 호출
- 10. Objective-C에서 여러 번 호출 -
- 11. C에서 Lua 스크립트 호출 : 오류
- 12. C에서 VB6로 만든 DLL을 호출
- 13. Objective C에서 C++ 메서드 호출
- 14. C에서 C++ 프로그램 호출 문제
- 15. C에서 시스템 호출 반환 값
- 16. Objective-C에서 Unix 시스템 호출
- 17. 수행 단방향 협회 NHibernate에
- 18. 단방향 트리를 효율적으로 이동
- 19. 단방향 네비게이션 속성
- 20. WPF : 단방향 IValueConverter
- 21. JPA manytomany 단방향 매핑
- 22. NHibernate 단방향 연결
- 23. JPA manytomany 단방향 매핑
- 24. JPA : 단방향 OneToMany 질문
- 25. WCF 단방향 콜백 시간 초과?
- 26. WCF : 단방향 콜백에 문제가 있습니다
- 27. 네이티브 C에서 .NET 관리 코드 호출
- 28. 리눅스 시스템 호출 getifaddr의 C++ 내 C에서
- 29. C에서 send() 두 번째 호출 사용에 문제가
- 30. WebScriptObject를 통해 Objective-C에서 Javascript 호출
좀 더 구체적으로 표현할 수 있습니까? 나는 누구도 당신이 말하는 것을 알지 못할지 모르겠습니다. –