Editar

Compartilhar via


HttpServerChannel.GetUrlsForUri(String) Method

Definition

Returns an array of all the URLs for an object with the specified URI, hosted on the current HttpChannel.

public:
 virtual cli::array <System::String ^> ^ GetUrlsForUri(System::String ^ objectUri);
public virtual string[] GetUrlsForUri (string objectUri);
abstract member GetUrlsForUri : string -> string[]
override this.GetUrlsForUri : string -> string[]
Public Overridable Function GetUrlsForUri (objectUri As String) As String()

Parameters

objectUri
String

The URI of the object for which URLs are required.

Returns

String[]

An array of the URLs for an object with the specified URI, hosted on the current HttpChannel.

Implements

Examples

The following code example shows how to use the GetUrlsForUri method. This code example is part of a larger example provided for the HttpServerChannel class.

#using <system.dll>
#using <system.runtime.remoting.dll>

using namespace System;
using namespace System::Runtime::Remoting;
using namespace System::Runtime::Remoting::Channels::Http;
using namespace System::Collections;

public ref class HelloService: public MarshalByRefObject{};

int main()
{
   // Create a remotable object.
   HttpChannel^ httpChannel = gcnew HttpChannel( 8085 );
   WellKnownServiceTypeEntry^ WKSTE = gcnew WellKnownServiceTypeEntry( HelloService::typeid,"Service",WellKnownObjectMode::Singleton );
   RemotingConfiguration::RegisterWellKnownServiceType( WKSTE );
   RemotingConfiguration::ApplicationName = "HelloServer";

   // Print out the urls for HelloServer.
   array<String^>^urls = httpChannel->GetUrlsForUri( "HelloServer" );
   IEnumerator^ myEnum = urls->GetEnumerator();
   while ( myEnum->MoveNext() )
   {
      String^ url = safe_cast<String^>(myEnum->Current);
      System::Console::WriteLine( "{0}", url );
   }

   return 0;
}
using System;
using System.Runtime.Remoting;
using System.Runtime.Remoting.Channels.Http;

class Class1 {
   public static void Main() {

      // Create a remotable object.
      HttpChannel httpChannel = new HttpChannel(8085);

      WellKnownServiceTypeEntry WKSTE =
         new WellKnownServiceTypeEntry(typeof(HelloService),
                                       "Service",
                                       WellKnownObjectMode.Singleton);
      RemotingConfiguration.RegisterWellKnownServiceType(WKSTE);

      RemotingConfiguration.ApplicationName = "HelloServer";

      // Print out the urls for HelloServer.
      string[] urls = httpChannel.GetUrlsForUri("HelloServer");

      foreach (string url in urls)
         System.Console.WriteLine("{0}", url);
   }
}

public class HelloService : MarshalByRefObject{
}
Imports System.Runtime.Remoting
Imports System.Runtime.Remoting.Channels.Http

Class SampleClass
   
   Public Shared Sub Main()
      ' Create a remotable object.
      Dim httpChannel As New HttpChannel(8085)
      
      Dim WKSTE As New WellKnownServiceTypeEntry(GetType(HelloService), "Service", WellKnownObjectMode.Singleton)
      RemotingConfiguration.RegisterWellKnownServiceType(WKSTE)
      
      RemotingConfiguration.ApplicationName = "HelloServer"
      
      ' Print out the urls for HelloServer.
      Dim urls As String() = httpChannel.GetUrlsForUri("HelloServer")
      Dim url As String

      For Each url In  urls
         System.Console.WriteLine("{0}", url)
      Next url 
   End Sub

End Class

Remarks

The current method is used by ChannelServices.GetUrlsForObject.

Applies to