What’s new in remoting 2.0

Now that .net Framework 2.0 is released — a list of new features in remoting is in order. Following is a list of new features added to remoting: 1. IPCChannel: A new channel based on named pipes form x-process (same machine) communication. Its more secure and performant than the previous best performer the tcp /…

1

TcpChannel timeout in remoting

This has been a frequently asked question about whether there is timeout support on remoting tcp channel. In 2.0 we have added support for timeouts. Unfortunately the support is missing in beta2 — but should be available when 2.0 is released. The configuration is similar to the HTTP channel. Note that this timeout only affects read…

1

movin out..

After working on remoting for about five years (almost seven on the .net framework) I am changing focus and work in application development space. Thus I have now moved to the Microsoft Operations Manager team. I hope to continue to blog about remoting about new features being added in 2.0. Remoting has come a long way since…

1

Authorization support on remoting TCP channel

This has been a common ask to add some authorization support on remoting channels. During Beta1 remoting added support for authentication and encryption on the TCP channel. In Beta2 there is a new feature which lets you authorize connections based on IP address or client identity. To authorize connections implement the following interface:     public…

0

Remoting Authentication Configuration changes in Beta2

There are config setting changes for Tcp channel authentication in .net framework 2.0 Beta2. Here is a sample server configuration, Note that secure=”true” gives a setting of TokenImpersonationLevel.Identify and ProtectionLevel.EncryptAndSign: <configuration>      <system.runtime.remoting>            <application name=”BVTServer”>                  <service>   <wellknown mode=”SingleCall” type=”Factory, server” objectUri=”Factory.soap” />                  </service>                  <channels>                        <channel ref=”tcp” port=”8000″ secure=”true” impersonate=”true” protectionLevel=”EncryptAndSign”/>                  </channels>            </application>      </system.runtime.remoting></configuration> Here is the corresponding…

2

Keeping state in remoting

Remoting does support stateful connections. You could use singleton or client activated objects to keep object state. This object state is not persisted however. If the server appdomain is unloaded all remoting state will be lost. Not only will the state be lost but client-activated objects will not be available. You will get a “service…

0

RemotingServices.Disconnect

RemotingServices.Disconnect is probably one of the confusing APIs in remoting. It doesnt correspond to RemotingServices.Connect, but rather to RemotingServices.Marshal. Disconnect is a server side API to disconnect objects which are currently published via remoting. You might have noticed an exception if Disconnect is called on a remoting proxy instead. This API is can be used…

5