Run .NET 3.0 or 3.5 WCF service

Nov 20, 2008 at 7:18 PM
Hello, I think there is a lack of documentation at the moment or maybe I've missed something reading what I found. My question is it's possible or not to host WCF service in Singularity or maybe .NET 2.0 remoting service?
Nov 21, 2008 at 9:30 PM
Hi Leonid. In short, WCF and .NET Remoting are not supported in Singularity - only a subset of the .NET Framework 2.0 is supported. This was done in order to keep binary images small, since Singularity does not include dynamic linking. You may be able to run your app as a TCP network service. Let me know if you have any other questions.
Derrick Coetzee
Microsoft Research Operating Systems Group developer
Apr 24, 2009 at 1:00 AM
OK the WCF DLL is the bigest in the framework ( almost 6 Meg)  , it is certainly needed . How would you think to go about a large amount of shared code in practice ?  Lets say a machine hosts 200 services  which use a WCF style DLL . Would you load each one in each process for 1.2 Gig of memory ? It could be worse for a web site host like IIS with 1000's of  small web sites ( eg free personal hosting etc).

Or do you envisage that something System.ServiceModel is hosted as a single Proccess and apps that use it communicate to ServiceModel via messages and the ServiceModel dll each service uses is a thin interface /fascade ?  This has some big benefits in terms of ServiceModel controlling all messages in a pool with exclusive access however woudnt it create a lot more security issues with this trusted code hosting lots of semi trusted services ?  What about tcp buffers does your app copy the message to the WCF process which copies the message to the  TCP/IP process which copies it to the network device driver ?  This would be terrible in practice though fine where high throughput is not needed ( eg all but Video and Network) .  I supose you could create a memory holder process and video /tcp/ip/WCF/WPF just pass references around but the context switch may be worse than the problem. Or would you just add SOAP messages to the Network stack ?

Im a Newbie to singularity but am looking at the code and i cant really see this copying going on between the drivers  and Network stack ( both seem to pass around references and i take the ! extention to mean a fixed pointer)

I take it its the same for the UI ( Xwindows is a good model here)  , service hosting and web hosting ?


Ben ( very Interested and Lost)
Apr 28, 2009 at 2:26 AM
Ignore my mail , i see now a Read only shared library is intended to be supported.