Hi
My name is Jure Šubara. I am a student of Faculty of computer and
information
science, University of Ljubljana, Slovenia.
(http://www.fri.uni-lj.si/en/)
I would like (and have succeeded on version 1.0.6 of Alchemi) to add support
for communication via WCF (Windows Communication Foundation) to Alchemi.
In my new version, there is a choice which communication mechanism to use.
The old one (.NET Remoting) or one of the new WCF communication mechanisms.
The start of may changes was the enumeration RemotingMechanism already in
the project.
I added the following values:
* WCFTcp ( a simple to use tcp connection )
* WCFHttp (a simple to use http connection )
* WCF (a complex connection that allows all kinds of connections... some
of those don't make much sese.. most of them are not tested. )
* WCFCustom ( For configuring WCF in App.config - cannot be used for
listening on dedicated executor. )
(the last two are more experimental, but allow a lot of control to
someone that knows WCF)
I have also changed the EndPoint class, so that it stores all the new data
required for WCF connections.
The next change was connecting to other nodes and publishing nodes: Most of
the changes were made on GNode and ManagerContainer classes.
Manager can now publish one TcpBinary(.NET Remoting) EndPoint and more WCF
end points.
Function GetRemoteRef now returns a new class of type EndPointReference.
This class wraps the instance of the remote object. It is here because WCF
needs to dispose of the channel when it is no longer in use. The class
implements IDisposabe interface and dispose should be called when a
reference to remote object is no longer needed.
Because WCF needs more information about the end point I needed to add a lot
of information to all kinds of configuration classes. I have made this
simpler by creating a class in Alchemi.Core called EndPointConfiguration. It
is used on all the nodes (Manager, Executor, Console, GConsole class) for
storing information about the EndPoint. I have also made a UI user control
in Alchemi.Core called EndPointControl. It is meant, for setting WCF (and
other) EndPoints in user interface. I used it on all the nodes.
(I hope you didn't receive this email twice. Sorry if you did.)
Jure Šubara
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Alchemi-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/alchemi-developers