44using System . Globalization ;
55using System . IO ;
66using System . Linq ;
7+ using System . Net ;
78using System . Net . NetworkInformation ;
89using System . Text ;
910using System . Web ;
@@ -181,6 +182,12 @@ public override void WriteRaw( JsonWriter writer, JsonSerializer serializer )
181182
182183 writer . WriteStartArray ( ) ;
183184
185+ if ( Count == 0 )
186+ {
187+ writer . WriteEndArray ( ) ;
188+ return ;
189+ }
190+
184191 var formatString = FormatString ;
185192
186193 foreach ( var item in this )
@@ -362,20 +369,34 @@ static ResourceController()
362369
363370 protected override void OnServiceText ( string text )
364371 {
365- var ext = Path . GetExtension ( Request . Url . AbsolutePath ) ;
372+ try
373+ {
374+ var ext = Path . GetExtension ( Request . Url . AbsolutePath ) ;
366375
367- Response . ContentType = MimeTypeMap . GetMimeType ( ext ) ;
376+ Response . ContentType = MimeTypeMap . GetMimeType ( ext ) ;
368377
369- using ( var writer = new StreamWriter ( Response . OutputStream ) )
378+ using ( var writer = new StreamWriter ( Response . OutputStream ) )
379+ {
380+ writer . Write ( text ) ;
381+ }
382+ }
383+ catch ( HttpListenerException )
370384 {
371- writer . Write ( text ) ;
385+ //
372386 }
373387 }
374388
375389 [ ResponseWriter ]
376390 public void OnWriteObject ( object obj )
377391 {
378- OnServiceJson ( obj == null ? null : JObject . FromObject ( obj , _sSerializer ) ) ;
392+ try
393+ {
394+ OnServiceJson ( obj == null ? null : JObject . FromObject ( obj , _sSerializer ) ) ;
395+ }
396+ catch ( HttpListenerException )
397+ {
398+ //
399+ }
379400 }
380401
381402 protected virtual bool ForceNoFormatting => false ;
@@ -393,7 +414,7 @@ protected override void OnServiceJson( JToken token )
393414#if DEBUG
394415 writer . Write ( token . ToString ( ForceNoFormatting ? Formatting . None : Formatting . Indented ) ) ;
395416#else
396- writer . Write ( token . ToString ( Formatting . None ) ) ;
417+ writer . Write ( token . ToString ( Formatting . None ) ) ;
397418#endif
398419 }
399420 }
0 commit comments