I think you may be a little confused about the normal C# async pattern.
It always involve a pair of Begin/End calls.

The WCF Facility support 2 callback models which is determined by the last 2 
arguments of your BeginWcfCall

The 2 options are
  1) Action<IWcfAsyncCall<TResult>>, state
  2) AsyncCallback, state

Option 1 is the standard async pattern and would look like this

            _actService.BeginWcfCall(x => x.GetAct(new GetActRequest
                                                            {
                                                                ActName =
                                                                    
saveScheduleSlotRequest.ScheduleSlot.ActProxy.Name
                                                            }), (IAsyncResult 
result) =>
                                                                    {
                                                                        var 
response =  _actService.EndWcfCall<GetActResponse>(result);
                                                                        // Do 
something with the response
                                                                    });

As you can see, the first requires a reference to the _actService proxy to call 
end. The first is a convenience method which does not.

 _actService.BeginWcfCall(x => x.GetAct(new GetActRequest
                                                            {
                                                                ActName =
                                                                    
saveScheduleSlotRequest.ScheduleSlot.ActProxy.Name
                                                            }), 
(IWcfAsyncCall<GetActResponse> result) =>
                                                                    {
                                                                        var 
response =  result.End();
                                                                        // Do 
something with the response
                                                                    });

The choice of which approach depends entirely on your preference of the 
c#standard async pattern.

-craig

On Jan 12, 2011, at 2:42 AM, Wayne Douglas wrote:

> this also doesn't work:
> 
>                 _actService.BeginWcfCall(x => x.GetAct(new GetActRequest
>                                                             {
>                                                                 ActName =
>                                                                     
> saveScheduleSlotRequest.ScheduleSlot.ActProxy.Name
>                                                             }), (result) =>
>                                                                     {
>                                                                         var 
> async = (GetActResponse)result.AsyncState;
>                                                                      
>                                                                     }, 
> _actService);
> 
> 
> complains about an ambiguous call?
> 
> 2011/1/12 Wayne Douglas <[email protected]>
> i'm probably being dumb here, but how do i get to the result of this call?
> 
> _actService.BeginWcfCall(x => x.GetAct(new GetActRequest
>                                                             {
>                                                                 ActName =
>                                                                     
> saveScheduleSlotRequest.ScheduleSlot.ActProxy.Name
>                                                             }));
> 
> i've tried passing in an anonymous method as the callback:
> 
>  _actService.BeginWcfCall(x => x.GetAct(new GetActRequest
>                                                             {
>                                                                 ActName =
>                                                                     
> saveScheduleSlotRequest.ScheduleSlot.ActProxy.Name
>                                                             }), (result)=>
>                                                                     {
>                                                                        
>                                                                     });
> 
> but something isn't right...
> 
> 2011/1/10 Krzysztof Koźmic <[email protected]>
> 
> Not very in depth but should get you going:
> 
> http://stw.castleproject.org/%28S%28oewxzuymrpqmz045nacayyq2%29%29/Windsor.WCF-Facility-Async-Calls.ashx
> Krzysztof
> 
> 
> 
> On 11/01/2011 6:23 AM, Wayne Douglas wrote:
> 
> Hi
> 
> Say I have a call like so:
> 
>  _actService.BeginWcfCall(x => x.SaveAct(new SaveActRequest
>                                                             {
>                                                                 Act = act
>                                                             }));
> 
> How do I get to the response of SaveAct? How can I set up a callback to fire 
> when the operation completes?
> 
> 
> -- 
> Cheers,
> 
> w://
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Castle Project Users" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to 
> [email protected].
> For more options, visit this group at 
> http://groups.google.com/group/castle-project-users?hl=en.
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Castle Project Users" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to 
> [email protected].
> For more options, visit this group at 
> http://groups.google.com/group/castle-project-users?hl=en.
> 
> 
> 
> 
> -- 
> Cheers,
> 
> w://
> 
> 
> 
> -- 
> Cheers,
> 
> w://
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Castle Project Users" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to 
> [email protected].
> For more options, visit this group at 
> http://groups.google.com/group/castle-project-users?hl=en.

-- 
You received this message because you are subscribed to the Google Groups 
"Castle Project Users" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/castle-project-users?hl=en.

Reply via email to