[Ironruby-core] More WCF fail

Curt Hagenlocher curth at microsoft.com
Thu Mar 12 15:46:14 EDT 2009


You are correct.  There’s no general problem with WCF; it’s just this particular API that Orion is using that’s problematic.

From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of Ivan Porto Carrero
Sent: Thursday, March 12, 2009 11:54 AM
To: ironruby-core
Subject: Re: [Ironruby-core] More WCF fail

But in the case of WCF this doesn't have to be the case right?
You can create a different behavior where you tell WCF how to create instances and you can create a service host that also knows how to handle dynamic objects. After all if you can get an IoC container to provide the instances, surely you can hook IronRuby in there too.

Wouldn't creating a servicehostfactory, servicehost and behavior solve the problem?
I wasn't expecting to use the plain vanilla WCF stuff but rather with a slightly customized infrastructure.

On Thu, Mar 12, 2009 at 6:15 PM, Curt Hagenlocher <curth at microsoft.com<mailto:curth at microsoft.com>> wrote:

There’s no CLR Type object that can fully represent your Ruby class, so you can’t meaningfully pass the type to any API that wants to be able to create an object from it.  This is still an area of active investigation and thought for us.



From: ironruby-core-bounces at rubyforge.org<mailto:ironruby-core-bounces at rubyforge.org> [mailto:ironruby-core-bounces at rubyforge.org<mailto:ironruby-core-bounces at rubyforge.org>] On Behalf Of Orion Edwards
Sent: Wednesday, March 11, 2009 4:44 PM
To: ironruby-core at rubyforge.org<mailto:ironruby-core at rubyforge.org>
Subject: [Ironruby-core] More WCF fail



Had time to get back to the WCF stuff: Here's the latest



class MyService

     include IWcfContract



     def ping(x)

          x

     end

end



uri = Uri.new "http://localhost:8700/MyService"

binding = WSHttpBinding.new

host = ServiceHost.new MyService

host.add_service_endpoint(IWcfContract.to_clr_type, binding, uri);





=> Now raises the following error (new and different from last time, exciting!):



The contract name 'IWcfContract' could not be found in the list of contracts implemented by the service 'IronRuby.Builtins.RubyClass'.



I also tried creating an abstract C# class as follows:



public abstract class WcfContractClass : IWcfContract

{

     public abstract string Ping(string input);

}



and then having the ruby class do this:



class MyService < WcfContractClass



however the same error occurs. Still running the dlr nightly v12211 build...



Any ideas?

_______________________________________________
Ironruby-core mailing list
Ironruby-core at rubyforge.org<mailto:Ironruby-core at rubyforge.org>
http://rubyforge.org/mailman/listinfo/ironruby-core

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://rubyforge.org/pipermail/ironruby-core/attachments/20090312/92cdd46e/attachment-0001.html>


More information about the Ironruby-core mailing list