Asp.net WebResponse拒绝服务

Asp.net WebResponse拒绝服务,asp.net,web-services,security,Asp.net,Web Services,Security,我正在使用以下代码:- WebRequest webrequest = WebRequest.Create("myurl"); webrequest.Method = "GET"; webrequest.ContentType = "application/json"; webrequest.ContentLength = 0; using (WebResponse jsonResponse = webrequest.GetResponse())

我正在使用以下代码:-

    WebRequest webrequest = WebRequest.Create("myurl");
    webrequest.Method = "GET";
    webrequest.ContentType = "application/json";
    webrequest.ContentLength = 0;
    using (WebResponse jsonResponse = webrequest.GetResponse())
     {
      using (StreamReader reader = new StreamReader(jsonResponse.GetResponseStream()))
       {
           result = reader.ReadToEnd();                            
       }
    }
如果攻击者注入大量数据,我的系统将挂起/cras在这一行
result=reader.ReadToEnd()因为这将占用大量内存和时间


我的问题是,是否有任何方法可以保护此代码免受攻击者的攻击

当您的代码执行请求时,这并不是真正的“攻击”…@David如果我错了,很抱歉,当请求攻击者注入大量数据时,
reader.ReadToEnd()
将花费大量时间,并且它可能会产生
OutOfMemoryException
如果您担心流可能太长,请将其分块读取,而不是一次读取整个内容。我之前的观点是,没有人攻击您的应用程序。您的应用程序正在请求数据。没有拒绝服务,没有安全违规,没有任何形式的攻击。您只是从服务器请求数据。如果您怀疑响应中可能有大量数据,请将响应流用作流,而不是将整个响应加载到内存中。当您的代码执行请求时,这并不是真正的“攻击”…@David抱歉,如果我错了,在请求时,如果攻击者注入大量数据,
reader.ReadToEnd()
将花费大量时间,并且它可能会产生
OutOfMemoryException
如果您担心流可能太长,请将其分块读取,而不是一次读取整个内容。我之前的观点是,没有人攻击您的应用程序。您的应用程序正在请求数据。没有拒绝服务,没有安全违规,没有任何形式的攻击。您只是从服务器请求数据。如果您怀疑响应中可能有大量数据,则将响应流用作流,而不是将整个响应加载到内存中。