@@ -100,8 +100,8 @@ public async Task ImportMetadataAsync(Action<WsdlImporter> onWsdlImporterCreated
100
100
//if it's net.pipe url
101
101
if ( MetadataUrl != null && MetadataUrl . Scheme . Equals ( "net.pipe" ) )
102
102
{
103
- string tfn ;
104
- if ( OperationalCtx == OperationalContext . Infrastructure )
103
+ string tfn ;
104
+ if ( OperationalCtx == OperationalContext . Infrastructure )
105
105
{
106
106
tfn = "net462" ;
107
107
}
@@ -116,27 +116,35 @@ public async Task ImportMetadataAsync(Action<WsdlImporter> onWsdlImporterCreated
116
116
Type type = assembly . GetType ( "Microsoft.Tools.ServiceModel.Svcutil.NamedPipeMetadataImporter" ) ;
117
117
if ( type != null )
118
118
{
119
- object typeInstance = Activator . CreateInstance ( type , null ) ;
120
- MethodInfo methodInfo = type . GetMethod ( "GetMetadatadataAsync" , BindingFlags . Public | BindingFlags . Instance ) ;
121
- var xmlReader = await ( Task < System . Xml . XmlReader > ) methodInfo . Invoke ( typeInstance , new object [ ] { MetadataUrl } ) ;
119
+ try
120
+ {
121
+ object typeInstance = Activator . CreateInstance ( type , null ) ;
122
+ MethodInfo methodInfo = type . GetMethod ( "GetMetadatadataAsync" , BindingFlags . Public | BindingFlags . Instance ) ;
123
+ var xmlReader = await ( Task < System . Xml . XmlReader > ) methodInfo . Invoke ( typeInstance , new object [ ] { MetadataUrl } ) ;
122
124
123
- if ( xmlReader != null )
125
+ if ( xmlReader != null )
126
+ {
127
+ Encoding encoding = Encoding . UTF8 ;
128
+ MemoryStream stream = new MemoryStream ( encoding . GetBytes ( xmlReader . ReadOuterXml ( ) ) ) ;
129
+ stream . Position = 0 ;
130
+ XmlReader reader = XmlDictionaryReader . CreateTextReader (
131
+ new MaxMessageSizeStream ( stream , int . MaxValue ) ,
132
+ Encoding . UTF8 ,
133
+ EncoderDefaults . ReaderQuotas ,
134
+ null ) ;
135
+
136
+ reader . Read ( ) ;
137
+ reader . MoveToContent ( ) ;
138
+
139
+ MetadataSet newSet = MetadataSet . ReadFrom ( reader ) ;
140
+ ( this . metadataDocumentLoader . MetadataSections as List < MetadataSection > ) . AddRange ( newSet . MetadataSections ) ;
141
+ this . metadataDocumentLoader . State = MetadataDocumentLoader . LoadState . Successful ;
142
+ }
143
+ }
144
+ catch
124
145
{
125
- Encoding encoding = Encoding . UTF8 ;
126
- MemoryStream stream = new MemoryStream ( encoding . GetBytes ( xmlReader . ReadOuterXml ( ) ) ) ;
127
- stream . Position = 0 ;
128
- XmlReader reader = XmlDictionaryReader . CreateTextReader (
129
- new MaxMessageSizeStream ( stream , int . MaxValue ) ,
130
- Encoding . UTF8 ,
131
- EncoderDefaults . ReaderQuotas ,
132
- null ) ;
133
-
134
- reader . Read ( ) ;
135
- reader . MoveToContent ( ) ;
136
-
137
- MetadataSet newSet = MetadataSet . ReadFrom ( reader ) ;
138
- ( this . metadataDocumentLoader . MetadataSections as List < MetadataSection > ) . AddRange ( newSet . MetadataSections ) ;
139
- this . metadataDocumentLoader . State = MetadataDocumentLoader . LoadState . Successful ;
146
+ this . metadataDocumentLoader . State = MetadataDocumentLoader . LoadState . Failed ;
147
+ throw ;
140
148
}
141
149
}
142
150
}
0 commit comments