0

У меня есть сложный код, в одном разделе я отправляю веб-службу отдыха в веб-службу и получаю ее ответ на остальную работу, ответ имеет размер варианта, несколько раз тяжело, на IIS Express на VS нет никаких проблем, но когда вы переходите на IIS, он бросает System.Net.WebException: операция была отключена. и это код я использую:System.Net.WebException: операция была отключена

Dim req As HttpWebRequest = TryCast(WebRequest.Create("http://www.somedomain.com/service.svc"), HttpWebRequest) 
     Using TryCast(req, IDisposable) 
      req.Proxy = Nothing 
      req.ServicePoint.ConnectionLimit = 100 
      req.ServicePoint.MaxIdleTime = 3000000 
      req.Method = "POST" 
      req.Headers("Accept-Encoding") = "gzip,deflate" 
      req.ContentType = "application/soap+xml; charset=UTF-8" 

      If compressionRequested = True Then 
       '' if you want to receive compressed response 

       req.Headers.Add("Accept-Encoding", "gzip, deflate") 
      End If 
      Dim stOut As New StreamWriter(req.GetRequestStream(), System.Text.Encoding.ASCII) 

      stOut.Write(xml.ToString) 
      stOut.Close() 


      Using resp As HttpWebResponse = DirectCast(req.GetResponse(), HttpWebResponse) 
       If resp.ContentEncoding = "gzip" Then 


        Dim st As Stream = resp.GetResponseStream() 
        If resp.ContentEncoding.ToLower().Contains("gzip") Then 
         st = New System.IO.Compression.GZipStream(st, System.IO.Compression.CompressionMode.Decompress) 
        ElseIf resp.ContentEncoding.ToLower().Contains("deflate") Then 
         st = New System.IO.Compression.DeflateStream(st, System.IO.Compression.CompressionMode.Decompress) 
        End If 
        Dim bfst As BufferedStream = New BufferedStream(st) 
        Using stIn As New StreamReader(bfst, Encoding.[Default]) 
         respXml = stIn.ReadToEnd() 


         stIn.Close() 
        End Using 

       Else 
        Using stIn As New StreamReader(resp.GetResponseStream()) 
         respXml = stIn.ReadToEnd() 

         stIn.Close() 
        End Using 
       End If 
      End Using 

     End Using 

также в web.config Я настроил так:

<system.net> 
<connectionManagement> 
     <add address="*" maxconnection="100" /> 
     </connectionManagement> 
    <settings> 
     <servicePointManager expect100Continue="true" /> 
    </settings> 
    </system.net> 

Есть ли предположить, где проблема и как ее решить?

ответ

0

Добавляя GC.Collect() до этого кода, все прекрасно работает,

Смежные вопросы