Yeah, I tried a couple of variations on

var ub = new UriBuilder("net+tcp://guest:guest@myserver:12345/")
ub.Scheme = "net.tcp"

and ub.Uri property throws as you mention.


On 12 November 2015 at 10:32, Thomas Koster <tkos...@gmail.com> wrote:
> On 11 November 2015 at 17:43, Thomas Koster <tkos...@gmail.com> wrote:
>> I am parsing a URL to connect to a WCF service. Try this:
>>
>> new Uri("net.tcp://guest:guest@myserver:12345");
>>
>> I get a UriFormatException that complains about an invalid port
>> number. Uri.TryCreate is no better.
>>
>> It works if I remove the userinfo (credentials). It also works if I
>> don't use a scheme with a dot in it. I need both, however.
>>
>> As far as I can tell, this *is* a valid URI according to RFC 2396 and
>> RFC 3986. It works in Mono. It works in other languages. I think
>> .NET's URI parser is busted (Framework 4.5).
>
> Using UriBuilder to create this Uri is also broken. Try this:
>
> var ub = new UriBuilder();
> ub.Scheme = "net.tcp";
> ub.UserName = "guest";
> ub.Password = "guest";
> ub.Host = "myserver";
> ub.Port = 12345;
>
> The Uri property getter for ub throws the same UriFormatException as above.
>
> This is all *very* annoying.
>
> Thomas Koster



-- 
Regards,
Mark Hurd, B.Sc.(Ma.)(Hons.)

Reply via email to