Access Denied exception while registering a remoting IpcServerChannel

I have heard from quite a few folks running into an issue where the IpcServerChannel would throw trying to initialize after a restart. IpcServerChannel by default creates pipes in exclusive mode (no other process can listen on the same pipe name). There is a known issue with pipes — that if there is a client side handle open to a now…


Sponsoring the client

In most cases it is not quite obvious, but in scenarios where a client receives callbacks, or subscribes to events on the server, you need to make sure that the lease on the client object doesnt expire — registering a sponsor for the client object is one solution. The issue gets hard to diagnose for…

1

Microsoft Operations Manager Team is Hiring

The Microsoft Operations Manager team has a number of development openings.If you are interested in working on cutting edge technology in enterprise monitoring and management space, this is your chance. Microsoft Operations Manager (MOM 2005) is already revolutionizing the event and performance management market, come work on the next version which will even simplify managing the enterprise….

3

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…


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…


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