7. Applications written in J# .NET, VB .NET, or C# .NET Framework Overview CLR FCL Windows Operating System (Windows ME, 98, 2000, XP etc) Windows API
8.
9. C# VB .NET Visual J# .NET MSIL Linux native code .NET Windows native code Mac OS native code Compile into MSIL CLR do this Support now Will Support soon Will Support soon
10. Java Java Byte Code Linux native code Java Windows native code Mac OS native code JVM do this
11.
12.
13. C# VB .NET Visual J# .NET Interoperability Windows native code Compile into MSIL linked the MSIL codes CLR generated a single application (native code) MSIL MSIL MSIL
81. Example 3 Obtain Types from Assemblies link MyClass.cs Compile the MyClass.cs into a MyClass.dll, you need to 1. Locate the csc.exe, and set the path 2. csc /t:library MyClass.cs
82.
83.
84. Example 4 How to create and use a DLL with MS Visual Studio .NET link Step 1
123. 1. Basic Model Proxy Formatter Client Channel Remote Object Formatter Server Channel Client Server 2 3 4 5 6 7 8 1 9
124. 2. Calling Procedure Client Side client called the proxy . For the client, the proxy looks like the real object with the same public methods. When the methods of the proxy are called, messages will be created . The messages are serialized using a formatter class , and are sent into a client channel . 1 2 3 4
125. Server Side The server channel sends the serialized data to a formatter . The formatter deserialized the message . The client channel communicates with the server channel to transfer the message across the network . 5 6 7 8 The deserialized messages are then dispatched to the remote object .
146. Did not cause the server to create a remote object A remote object was created for the first method call. All of the clients will share the same remote object.
181. Conclusion .NET Remoting is built on a layered model, with each layer replaceable by custom code created by a developer. Therefore, new messaging, transport, and communication protocols can be implemented and plugged in as needed. Thus we can apply it to our distributed or web service system with least difficulties and at the same time have higher performance or interoperability than other technology can provide.