Ok, np I have a BeforeInvoke method that I need to await so my code looks
more like this:
public class AsyncInterceptor : IInterceptor {
public async void Intercept(IInvocation invocation) {
* await BeforeInvoke();*
invocation.Proceed();
var result = await (Task<string>)invocation.ReturnValue;
invocation.ReturnValue = Task.Factory.StartNew(async () => {
var h = new HttpClient();
var response = await h.GetAsync("http://www.bing.com");
var content = await response.Content.ReadAsStringAsync();
return content + result;
});
}
}
At that "*await BeforeInvoke();*" point control is passed back to caller
and that is the proxy method that I have provided you with and in your case
it would be translated to something similar to this:
IAsyncClass_GetSomething asyncClass_GetSomething = new IAsyncClass_
GetSomething(arg_19_0, this, arg_19_2, arg_19_3, array);
asyncClass_GetSomething.Proceed();
Well Proceed is not awaited and then control is passed one level up, at
that point you aren't waiting for result anymore. So problem is awaiting
anything before "*invocation.Proceed();*" because proxy isn't generating
async code. (
http://stackoverflow.com/questions/17663808/making-ninject-interceptors-intercept-method-an-async-method
-
take a look at Stephen Cleary comment) I have inspected LinFu DynamicProxy
and it seems that he is generating more acceptable code for this kind of
scenario. I'm testing the code right now I can post the results as soon as
I'm done.
Thanks
--
You received this message because you are subscribed to the Google Groups
"Castle Project Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/castle-project-users.
For more options, visit https://groups.google.com/groups/opt_out.