Share via


HttpServerChannel.GetUrlsForUri(String) 方法

定义

返回具有指定 URI 的对象的所有 URL 的数组,该对象承载在当前的 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

需要其 URL 的对象的 URI。

返回

String[]

具有指定 URI 的对象的所有 URL 的数组,该对象承载在当前的 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使用。

适用于