Uri.IsUnc Property
Gets whether the specified Uri is a universal naming convention (UNC) path.
Namespace: System
Assembly: System (in System.dll)
| Exception | Condition |
|---|---|
| InvalidOperationException |
This property is valid only for an absolute Uri instance. |
The IsUnc property is true if the specified Uri instance is a UNC path (such as \\server\folder or file://server/folder). This property always returns true if the URI has the file:// scheme and specifies a host component.
Silverlight-based applications are cross-platform, so they run in most modern Web browsers, including Apple Safari version 2.0 and later on Apple Mac OS X. However, full parsing for UNC style paths in a Uri is supported only on Windows. Any backslashes in a Uri for the UriSchemeFile representing a UNC path are converted to forward slashes on Apple Mac OS X.
An example that displays this issue is below:
Uri testUri = Uri(@"file://\\computer\download\file.ext");
On Windows, this UNC path is converted to the following Uri:
file://computer/download/file.ext
The AbsolutePath is /download/file.ext.
The Host property is equal to: computer.
The IsUnc property is true.
The LocalPath property is \\computer\download\file.ext.
On Apple Mac OS X, this UNC path is converted to the following Uri:
file::////computer/download/file.ext
The AbsolutePath property is //computer/download/file.ext.
The Host property is an empty string.
The IsUnc property is false.
The LocalPath property is computer/download/file.ext.
The following example creates a Uri instance and determines whether it is a UNC path.
Uri uriAddress2 = new Uri("file://server/filename.ext"); outputBlock.Text += uriAddress2.LocalPath; outputBlock.Text += "\n"; if (uriAddress2.IsUnc) outputBlock.Text += "Uri is a UNC path\n"; else outputBlock.Text += "Uri is not a UNC path\n";
For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.