/
MetadataLocation.cs
43 lines (36 loc) · 1.2 KB
/
MetadataLocation.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
using System.Xml.Serialization;
namespace System.ServiceModel.Description
{
[XmlRoot(ElementName = MetadataStrings.MetadataExchangeStrings.Location, Namespace = MetadataStrings.MetadataExchangeStrings.Namespace)]
public class MetadataLocation
{
private string _location;
public MetadataLocation()
{
}
public MetadataLocation(string location)
{
Location = location;
}
[XmlText]
public string Location
{
get { return _location; }
set
{
if (value != null)
{
Uri uri;
if (!Uri.TryCreate(value, UriKind.RelativeOrAbsolute, out uri))
{
throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgument(SRP.Format(SRP.SFxMetadataReferenceInvalidLocation, value));
}
}
_location = value;
}
}
}
}