Поделиться через


HttpServerChannel.GetUrlsForUri(String) Метод

Определение

Возвращает массив всех URL-адресов объекта с указанным универсальным кодом ресурса (URI), относящихся к текущему объекту 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()

Параметры

objectUri
String

URI объекта, для которого требуются URL-адреса.

Возвращаемое значение

String[]

Массив URL-адресов для объекта с указанным универсальным кодом ресурса (URI), относящихся к текущему объекту HttpChannel.

Реализации

Примеры

В следующем примере кода показано применение метода GetUrlsForUri. Этот пример входит в состав более крупного примера использования класса HttpServerChannel.

#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

Комментарии

Текущий метод используется ChannelServices.GetUrlsForObject.

Применяется к