Activation URLs

This topic is specific to a legacy technology that is retained for backward compatibility with existing applications and is not recommended for new development. Distributed applications should now be developed using the Windows Communication Foundation (WCF).

Server-activated objects that are published at a URL outside the application domain are called well-known types. Therefore, the URL is called the well-known object URL. The form of a well-known object URL is as follows:

ProtocolScheme://ComputerName:Port/PossibleApplicationName/ObjectUri

However, it is important to note that if you are hosting your remote object in Internet Information Services (IIS), you cannot declare an application name. In this case, the virtual directory of your application automatically becomes the application name. In addition, other minor changes might be required.

Client-activated objects do not need a unique URL for each object, because the .NET remoting system generates a URL that is unique to each instance on your behalf. As a result, the URL that is used to activate a client-activated object is called a client activation URL. The form of a client activation URL is as follows:

ProtocolScheme :// ComputerName : Port / PossibleApplicationName

If you use TcpChannel objects, the port number is required.

With host application domains other than IIS, you can either configure your remotable type programmatically or use a configuration file. To do the latter, you must load the values in the file by calling RemotingConfiguration.Configure and passing the name of the configuration file. (When you host a remotable type in Internet Information Services (IIS), <service> elements will be detected.) Although you can use any file name for your remoting configuration file, application security settings are only enforced if they are contained in a file that has a name in the following form:

<ApplicationName>.<FileExtension>.config

It is recommended that you use this file name form in most cases. For example, if your host executable is MyServer.exe, then the appropriate name for your configuration file is MyServer.exe.config.

Whatever file names you choose, you can pass several configuration files to Configure. It is often helpful to specify channels, formatters, and providers of custom channels in a separate file or files and then register all of them in successive calls to Configure. This enables you to copy the configuration files that deal only with channels, or providers, or any other custom functionality. If you specify custom channel templates in a Channels.config file and custom providers in a Providers.config file, you can use the calls shown in the following code example to configure your remoting client.

RemotingConfiguration.Configure("Providers.config")
RemotingConfiguration.Configure("Channels.config")
RemotingConfiguration.Configure("RemoteClient.exe.config")
RemotingConfiguration.Configure("Providers.config");
RemotingConfiguration.Configure("Channels.config");
RemotingConfiguration.Configure("RemoteClient.exe.config");

See Also

Reference

Remoting Settings Schema

Concepts

Configuration of Remote Applications
Remote Object Configuration