HttpServerChannel.GetUrlsForUri(String) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
返回具有指定 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使用。