What do you mean by "set up asynchronous calls"?
If your get_settings method is a C# method using the IAsyncResult pattern, then
you should be able to invoke it from IronRuby.
From memory you can pass a ruby Proc in place of the AsyncCallback and it should
all work:
Example:
callback = lambda{ |asyncresult| puts data.end_get_settings(asyncresult) }
data.begin_get_settings("abc", callback, nil)
If you want to write your own asynchronous method not involving C# at all, then
you can do that too. If that''s the case, then all you really need to do
is remember to call the block when you''re done.
Example
def get_settings(&block)
do_long_thing
settings = 123
block.call(settings)
end
In a real function you''d probably run the body of get_settings in
another thread, but I won''t go into how to do threading, as there may
be other better ways depending on your situation.
Cheers
On 22/01/2010, at 11:58 AM, Randall Sutton wrote:
> Is there a way to setup asychronous calls in IronRuby. I''ve used
things like WebClient.download_string_async, but I''m wondering if I can
setup an async using just IronRuby.
>
> For example:
> @data.get_settings do |settings|
> # do stuff after async call
> end
>
> Where get_settings is an async method and it executes the block after it is
completed.
>
> Thanks for any help,
> Randall
> _______________________________________________
> Ironruby-core mailing list
> Ironruby-core at rubyforge.org
> http://rubyforge.org/mailman/listinfo/ironruby-core