이다 나는이 코드를했습니다 말 :하는 것은 현재의 이벤트 핸들러
클라이언트 클래스는 WCF 서비스 참조에서 생성됩니다for(i=0;i<5;i++)
{
client c = new client();
c.fooAsyncCompleted+=h;
c.fooAsync(i);
}
. 지금 함수 h
에서 나는 c.fooAsync
결과가 현재 처리되고 있는지 알아야합니까? 그런 일을하는 방법이 있습니까?
이다 나는이 코드를했습니다 말 :하는 것은 현재의 이벤트 핸들러
클라이언트 클래스는 WCF 서비스 참조에서 생성됩니다for(i=0;i<5;i++)
{
client c = new client();
c.fooAsyncCompleted+=h;
c.fooAsync(i);
}
. 지금 함수 h
에서 나는 c.fooAsync
결과가 현재 처리되고 있는지 알아야합니까? 그런 일을하는 방법이 있습니까?
Visual Studio에서 생성 한 일반 WCF 프록시 클래스를 사용하는 경우 UserState
인수를 취하는 메서드 오버로드가 있어야합니다.
c.fooAsync(i, i);
완성 된 처리기에서 EventArgs
을 통해 해당 인수를 검색 할 수 있습니다.
h(object sender, fooAsyncCompletedEventArgs e)
{
var x = e.UserState;
}
이 정보로 콜백 호출이 무엇인지 알 수 있습니다.
, object sender
처리기를 가정하면 당신은 간단한 캐스팅을 통해 client
객체를 가질 수있다 (일반적으로)
void handler(object sender, EventArgs e)
처럼 보인다
var source = (client)sender;
정확하게 식별하는 방법은 사용자에게 달려 있습니다 (클래스 구조에 따라 다름) re ... 식별되어야하기 때문에 고유 한 "id"속성이 필요합니다.)