IChannel.Parse(String, String) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
将对象 URI 返回为输出参数,将当前信道的 URI 返回为返回值。
public:
System::String ^ Parse(System::String ^ url, [Runtime::InteropServices::Out] System::String ^ % objectURI);
public string Parse (string url, out string objectURI);
[System.Security.SecurityCritical]
public string Parse (string url, out string objectURI);
abstract member Parse : string * string -> string
[<System.Security.SecurityCritical>]
abstract member Parse : string * string -> string
Public Function Parse (url As String, ByRef objectURI As String) As String
参数
- url
- String
该对象的 URL。
返回
当前信道的 URI,或者如果 URI 不属于该信道,则为 null
。
- 属性
例外
直接调用方没有基础结构权限。
示例
// Creating the 'IDictionary' to set the server object properties.
IDictionary^ myDictionary = gcnew Hashtable;
myDictionary[ "name" ] = "HttpClientChannel";
myDictionary[ "priority" ] = 2;
// Set the properties along with the constructor.
HttpClientChannel^ myHttpClientChannel = gcnew HttpClientChannel( myDictionary,gcnew BinaryClientFormatterSinkProvider );
// Register the server channel.
ChannelServices::RegisterChannel( myHttpClientChannel );
MyHelloServer ^ myHelloServer1 = dynamic_cast<MyHelloServer^>(Activator::GetObject( MyHelloServer::typeid, "http://localhost:8085/SayHello" ));
if ( myHelloServer1 == nullptr )
System::Console::WriteLine( "Could not locate server" );
else
{
Console::WriteLine( myHelloServer1->myHelloMethod( "Client" ) );
// Get the name of the channel.
Console::WriteLine( "Channel Name :{0}", myHttpClientChannel->ChannelName );
// Get the channel priority.
Console::WriteLine( "ChannelPriority :{0}", myHttpClientChannel->ChannelPriority );
String^ myString;
String^ myObjectURI1;
Console::WriteLine( "Parse :{0}{1}", myHttpClientChannel->Parse( "http://localhost:8085/SayHello", myString ), myString );
// Get the key count.
System::Console::WriteLine( "Keys->Count : {0}", myHttpClientChannel->Keys->Count );
// Get the channel message sink that delivers message to the specified url.
IMessageSink^ myIMessageSink = myHttpClientChannel->CreateMessageSink( "http://localhost:8085/NewEndPoint", nullptr, myObjectURI1 );
Console::WriteLine( "The channel message sink that delivers the messages to the URL is : {0}", myIMessageSink );
Console::WriteLine( "URI of the new channel message sink is: {0}", myObjectURI1 );
}
// Creating the 'IDictionary' to set the server object properties.
IDictionary myDictionary = new Hashtable();
myDictionary["name"]="HttpClientChannel";
myDictionary["priority"]=2;
// Set the properties along with the constructor.
HttpClientChannel myHttpClientChannel =
new HttpClientChannel(myDictionary,new BinaryClientFormatterSinkProvider());
// Register the server channel.
ChannelServices.RegisterChannel(myHttpClientChannel);
MyHelloServer myHelloServer1 = (MyHelloServer)Activator.GetObject(
typeof(MyHelloServer), "http://localhost:8085/SayHello");
if (myHelloServer1 == null)
{
System.Console.WriteLine("Could not locate server");
}
else
{
Console.WriteLine(myHelloServer1.myHelloMethod("Client"));
// Get the name of the channel.
Console.WriteLine("Channel Name :"+myHttpClientChannel.ChannelName);
// Get the channel priority.
Console.WriteLine("ChannelPriority :"+myHttpClientChannel.ChannelPriority.ToString());
string myString,myObjectURI1;
Console.WriteLine("Parse :" +
myHttpClientChannel.Parse("http://localhost:8085/SayHello",out myString)+myString);
// Get the key count.
System.Console.WriteLine("Keys.Count : " + myHttpClientChannel.Keys.Count);
// Get the channel message sink that delivers message to the specified url.
IMessageSink myIMessageSink =
myHttpClientChannel.CreateMessageSink("http://localhost:8085/NewEndPoint",
null,out myObjectURI1);
Console.WriteLine("The channel message sink that delivers the messages to the URL is : "
+myIMessageSink.ToString());
Console.WriteLine("URI of the new channel message sink is: " +myObjectURI1);
}
' Creating the 'IDictionary' to set the server object properties.
Dim myDictionary As New Hashtable()
myDictionary("name") = "HttpClientChannel"
myDictionary("priority") = 2
' Set the properties along with the constructor.
Dim myHttpClientChannel As New _
HttpClientChannel( myDictionary, New BinaryClientFormatterSinkProvider)
' Register the server channel.
ChannelServices.RegisterChannel(myHttpClientChannel)
Dim myHelloServer1 As MyHelloServer = CType(Activator.GetObject(GetType(MyHelloServer), _
"http://localhost:8085/SayHello"), MyHelloServer)
If myHelloServer1 Is Nothing Then
System.Console.WriteLine("Could not locate server")
Else
Console.WriteLine(myHelloServer1.myHelloMethod("Client"))
' Get the name of the channel.
Console.WriteLine("Channel Name :" + myHttpClientChannel.ChannelName)
' Get the channel priority.
Console.WriteLine("ChannelPriority :" + myHttpClientChannel.ChannelPriority.ToString())
Dim myString, myObjectURI1 As String
Console.WriteLine("Parse :" + _
myHttpClientChannel.Parse("http://localhost:8085/SayHello", myString) + myString)
' Get the key count.
System.Console.WriteLine("Keys.Count : " + myHttpClientChannel.Keys.Count.ToString())
' Get the channel message sink that delivers message to the specified url.
Dim myIMessageSink As IMessageSink =myHttpClientChannel.CreateMessageSink( _
"http://localhost:8085/NewEndPoint", Nothing, myObjectURI1)
Console.WriteLine("The channel message sink that delivers the messages to the URL is :" + _
CType(myIMessageSink, Object).ToString)
Console.WriteLine("URI of the new channel message sink is: " + myObjectURI1)
End If