HOW TO: Host a Remote Object in Microsoft Internet Information Services

Article translations Article translations
Article ID: 312107 - View products that this article applies to.
This article was previously published under Q312107
Expand all | Collapse all

On This Page

SUMMARY

Note The following .NET Framework Class Library namespaces are referenced in this article:

System.Runtime.Remoting

This article provides step-by-step instructions to host a remote object in Microsoft Internet Information Services. The article also provides instructions for how to build a simple client to call the remote object.

Prerequisites:
  • Microsoft Visual Studio .NET with Microsoft .NET Framework
  • Microsoft Internet Information Services (IIS)

Build a Simple Remote Object

  1. Using Visual Studio .NET, create a new Visual C# .NET Project by using the Class Library template. Name the project HelloWorldObject.
  2. Rename the Class1.cs file that is created by default to Hello.cs.
  3. Replace the entire code for Hello.cs with the following:
    using System;
    using System.Runtime.Remoting;
    
    namespace HelloWorldObject
    {
    	public class Hello : MarshalByRefObject
    	{
    
    		public string HelloWorld(string str)
    		{
    			return "Hello World received " + str + " from the client";
    		}
    	}
    }
    						
  4. Right-click References in the Solution Explorer, and then select Add Reference. Add a reference to System.Runtime.Remoting.
  5. Build the solution.

Host the Remote Object in Microsoft Internet Information Services

  1. Create a new directory called HelloWorldWeb (preferably under \Inetpub\wwwroot\).
  2. Create a directory named bin beneath the HelloWorldWeb directory.
  3. Copy the HelloWorldObject.dll file from the HelloWorldObject\bin\debug\ directory to the HelloWorldWeb\bin\ directory.
  4. Use Notepad.exe to create a new file called Web.config. Copy the following text, and then save it in the HelloWorldWeb directory:
    <configuration>
      <system.runtime.remoting>
        <application>
    
          <service>
            <wellknown mode="SingleCall" type="HelloWorldObject.Hello, HelloWorldObject" objectUri="SimpleHelloWorld.soap" />
          </service>
    
        </application>
      </system.runtime.remoting>
    </configuration>
    						
  5. Click Start, point to Programs, and then click Administrative Tools. Open Internet Services Manager.
  6. Create a virtual directory in IIS.
  7. Make the virtual directory alias SimpleHello, and then set the source directory to the HelloWorldWeb directory.

Build a Simple Console Application to Test the Remote Object

  1. Add a new Visual C# .NET project to the existing solution by selecting the Console Application template. Name the project Client.
  2. Rename the existing Class1.cs file to TestClient.cs.
  3. Replace the existing code in TestClient.cs with the following:
    using System;
    using System.Runtime.Remoting;
    using System.Runtime.Remoting.Services;
    using System.Runtime.Remoting.Channels;
    using System.Runtime.Remoting.Channels.Http;
    
    using HelloWorldObject;
    
    namespace Client
    {
    	class TestClient
    	{
    
    		[STAThread]
    		static void Main(string[] args)
    		{
    			HttpChannel http = new HttpChannel();
    			ChannelServices.RegisterChannel(http);
    
    			Hello obj = (Hello)Activator.GetObject(typeof(Hello),"http://localhost/SimpleHello/SimpleHelloWorld.soap");
    			Console.WriteLine(obj.HelloWorld("CLIENT APPLICATION"));
    		}
    	}
    }
    						
  4. Add references to the following:
    • System.Runtime.Remoting
    • HelloWorldObject.dll (by browsing to the location of the .dll file)
  5. Build the client application.
  6. Verify that the IIS server is started, and then run Client.exe, which is located in the debug\bin directory.

REFERENCES

Microsoft .NET Remoting: A Technical Overview

Properties

Article ID: 312107 - Last Review: April 17, 2003 - Revision: 4.0
APPLIES TO
  • Microsoft .NET Framework Class Libraries 1.0
Keywords: 
kbfix kbhowtomaster KB312107
Retired KB Content Disclaimer
This article was written about products for which Microsoft no longer offers support. Therefore, this article is offered "as is" and will no longer be updated.

Give Feedback

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com