|Important||This document may not represent best practices for current development, links to downloads and other resources may no longer be valid. Current recommended version can be found here.|
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:
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:
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.