.Net Remoting: passing through the obstacles path from version 1.0 to 1.1

Description

Sample for .Net Remoting: passing through the obstacles path from version 1.0 to 1.1,which can viewed and downloaded for free.

Reviews
Shared by:
Anonymous
Categories
Tags
Stats
views:
427
downloads:
8
rating:
not rated
reviews:
0
posted:
9/14/2007
language:
english
pages:
0
.NET Remoting: Passing through the obstacles path from  version 1.0 to 1.1  By Cohen Shwartz Oren  Houston, we have a problem. One small step for mankind, one Giant irritation for  developers. · · · · Download config file example source code ­ 27.6 Kb Download config file example outputs ­ 7.76 Kb Download code activation example source code ­ 23.7 Kb Download code activation example outputs ­ 7.08 Kb  Introduction  The following article's aim is to help those of you who want to use .NET Remoting  on Framework 1.1*. This article will not teach you Remoting, mainly because I  am not an expert on that field. Furthermore, my CodeProject colleagues  published some useful and nice to read articles on that issue (see links below).  The attached projects were kept simple as possible to allow you to overcome the  changes presented by Framework 1.1*. It handles the maladies of security  exception, serialization and delegates issues.  Background  Recently, I have faced the challenge of exposing objects via .NET Remoting. Like  the most of you, I have started with the MSDN, and of course CodeProject, but all  the examples were suited for Framework 1.0 only. Attempts to run 1.0 project on  a 1.1 Framework ends with lots of exceptions. · Type System.DelegateSerializationHolder and the types derived from  it (such as System.DelegateSerializationHolder) are not permitted to  be deserialized at this security level. Because of security restrictions, the type  System.Runtime.Remoting.ObjRef cannot be accessed. This remoting proxy has no channel sink which means either the server  has no registered server channels that are listening, or this application has  no suitable client channel to talk to the server.  · · The web is full of developers' complaints on the very same problems but I have  not found a simple, corrective and comprehensive example. So there you have  it!.  Code snippets  Activate through Config files  Server side configuration                                    Server side code  RemotingConfiguration.Configure ("ServerAssembly.exe.config");  Client side configuration                                  Client side code  RemotingConfiguration.Configure ("ClientAssembly.exe.config");  SharedObj remObject = new SharedObj();  Activate through code  Server side  BinaryClientFormatterSinkProvider clientProvider = null;  BinaryServerFormatterSinkProvider serverProvider =  new BinaryServerFormatterSinkProvider();  serverProvider.TypeFilterLevel =  System.Runtime.Serialization.Formatters.TypeFilterLevel.Full;  IDictionary props = new Hashtable();  props["port"] = 6123;  props["typeFilterLevel"] = TypeFilterLevel.Full; TcpChannel chan = new TcpChannel(  props,clientProvider,serverProvider);  ChannelServices.RegisterChannel(chan);  RemotingConfiguration.RegisterWellKnownServiceType(typeof(SharedObj),  "ParachuteExample",  WellKnownObjectMode.Singleton);  Client Side  BinaryClientFormatterSinkProvider clientProvider =  new BinaryClientFormatterSinkProvider();  BinaryServerFormatterSinkProvider serverProvider =  new BinaryServerFormatterSinkProvider();  serverProvider.TypeFilterLevel =  System.Runtime.Serialization.Formatters.TypeFilterLevel.Full;  IDictionary props = new Hashtable();  props["port"] = 0;  string s = System.Guid.NewGuid().ToString();  props["name"] = s;  props["typeFilterLevel"] = TypeFilterLevel.Full;  TcpChannel chan = new TcpChannel(  props,clientProvider,serverProvider);  ChannelServices.RegisterChannel(chan);  Type typeofRI = typeof(IParachute);  IParachute remObject = (IParachute)Activator.GetObject(    typeofRI,  "tcp://localhost:6123/ParachuteExample");  Using the code  Since some of you like configuration files while others like to connect and create  the well known object via code, I have included two projects accordingly. Both  projects, codeActivationExample.zip and configFileExample.zip, include the same  assemblies as follows: · · · ClientAssembly ServerAssembly SharedAssembly

Related docs
Version 1.1
Views: 2  |  Downloads: 0
CHALLENGE ANNOUNCEMENT (VERSION 1.1)
Views: 1  |  Downloads: 0
1.0 Introduction
Views: 11  |  Downloads: 0
820_4060 SAP Remittance Advice Version 1.0
Views: 30  |  Downloads: 1
The Asset Allocation Worksheet Version 1.1
Views: 25  |  Downloads: 0
Obstacles to Effective Selling
Views: 108  |  Downloads: 21
premium docs