Глядя на конструктор SoapAnyUri
с Reflector, он вообще не выполняет никакой проверки.
Тип данных anyURI
определяется следующим образом :
[Определение:] anyURI представляет ссылку на унифицированный идентификатор ресурса (URI). Значение anyURI может быть абсолютным или относительным и может иметь необязательный идентификатор фрагмента (т. Е. Это может быть ссылка на URI). Этот тип должен использоваться для указания намерения, чтобы значение выполняло роль URI, как определено в [RFC 2396], с поправками, внесенными в [RFC 2732].
Таким образом, вы можете просто использовать Uri.TryCreate
с UriKind.RelativeOrAbsolute
, чтобы проверить, что строка представляет допустимое значение:
Uri uri;
bool valid = Uri.TryCreate(anyUriValue, UriKind.RelativeOrAbsolute, out uri);