GET and POST to a webservice on ASP.net (c#)

HI it's me again... well I'm really screwed I cannot make this work... If i run this requests it works fine the first 3 or 4 times but then it crashed sending a LOT of code...

here is the code on arduino

#include <SPI.h>
#include <Ethernet.h>

byte mac[] = {0xEE, 0xDD, 0xBE, 0xEF, 0xFE, 0xED }; // DIRECCION MAC
IPAddress ip(192,168,2,91);  //DIRECCION IP PARA ARDUINO
EthernetServer server(80); //MODO Servidor y Puerto de trabajo
String readString=""; 
int pin=-1;
int state=-1;

void setup() 
{  
  for (int setoutpin = 6; setoutpin<=9; setoutpin++)//defino las salidas 6,7,8,9 como OUT y las pongo en HIGH
  {
    pinMode(setoutpin,OUTPUT);
    digitalWrite(setoutpin,HIGH);
  }
  Serial.begin(9600);//Monitorizacion via serie
  while (!Serial)
  {
    ;
  }//Espera a que se inicie
  Serial.println("Starting network...");
  Ethernet.begin(mac, ip);//Iniciando Ethernet
  Serial.print("My IP address is: ");  
  Serial.println(Ethernet.localIP());
  Serial.println("Waiting for new connections...");
  delay(500);
}
  
//VOID LOOP===================================================================
  
  void loop()
  {
    EthernetClient client = server.available();
    if (client) 
    {
      char data;
      readString="";      
      Serial.println("------------------------------------------------------");
      Serial.println("Connection detected");
      while ( client.available())
      {
        //delay(5);
        data = client.read();
        readString += data;
      }
      
      Serial.println("");
      Serial.println("The client sent: ");
      Serial.println(readString);
      Serial.println("");
      //delay(5); 
      
      if (data=='\n')
      {   
        client.println("HTTP/1.1 200 OK");
        client.println("Content-Type: text/html");
        client.println("Connection: close");
        client.println(); 
        client.println("");   
        
        Serial.println("HTTP/1.1 200 OK");
        Serial.println("Content-Type: text/html");
        Serial.println("Connection: close");
        Serial.println(); 
        Serial.println("");      

        if( readString.indexOf("?p=1")>=0)
        {
          Serial.print("Received pinnumber: 1 ");
          Serial.println("mapping to output: 6");
          pin=6;
        }
        
        if( readString.indexOf("?p=2")>=0)
        {
          Serial.print("Received pinnumber: 2 ");
          Serial.println("mapping to output: 7");
          pin=7;
        }
        
        if( readString.indexOf("?p=3")>=0)
        {
          Serial.print("Received pinnumber: 3 ");
          Serial.println("mapping to output: 8");
          pin=8;
        }  
        
          if( readString.indexOf("?p=4")>=0)
        {
          Serial.print("Received pinnumber: 4 ");
          Serial.println("mapping to output: 9");
          pin=9;
        }   
        
        if( readString.indexOf("&s=0")>=0)
        {
          Serial.println("Received state: 0");
          state=0;
        }
        
        if( readString.indexOf("&s=1")>=0)
        {
          Serial.println("Received state: 1");
          state=1;
        }
        
        if (state==0)
        {
            digitalWrite(pin,HIGH);
            Serial.print("Setting output: " );
            Serial.print(pin);
            Serial.println(" to state: OFF");  
            client.println("ARDUINO_OK");  
            Serial.println("ARDUINO_OK");  
        }
        
        if (state==1)
        {
            digitalWrite(pin,LOW);
            Serial.print("Setting output: " );
            Serial.print(pin);
            Serial.println(" to state: ON");
            client.println("ARDUINO_OK");
            Serial.println("ARDUINO_OK");  
        }
        
        if( readString.indexOf("?QueryDigital")>=0)
        {
          client.print("QUERY_OK");
          Serial.print("QUERY_OK");  
          for (int querypin = 6; querypin <= 9; querypin++) 
          {
            int sendpin = digitalRead(querypin);
            client.print(querypin);
            client.print("=");
            if (sendpin >0)
            {
              client.print("ON");
            }
            else
            {
              client.print("OFF"); 
            }
            client.print(",");            
          }
        }
        
        if (readString.indexOf("?efect1")>=0) //APAGO TODAS
        {
          client.print("EFECTO1_OK");
          Serial.print("EFECTO1_OK");
          for (int efectpin = 6; efectpin <= 9; efectpin++) 
          {
            digitalWrite(efectpin,HIGH);           
          }
        }
        
        if (readString.indexOf("?efect2")>=0) //ENCIENDO TODAS
        {
          client.print("EFECTO2_OK");
          Serial.print("EFECTO2_OK");
          for (int efectpin = 6; efectpin <= 9; efectpin++) 
          {
            digitalWrite(efectpin,LOW);           
          }
        }
        if (readString.indexOf("?efect3")>=0) //1,2,3,4
        {
          client.print("EFECTO3_OK");
          Serial.print("EFECTO3_OK");
          for (int efectpin = 6; efectpin <= 9; efectpin++) 
          {
            digitalWrite(efectpin,HIGH); //apago todas         
          }
          for (int efectpin = 6; efectpin <= 9; efectpin++) 
          {
            digitalWrite(efectpin,LOW);
            delay(1000);         
          }         
        }
        if (readString.indexOf("?efect4")>=0) //4,3,2,1
        {
          client.print("EFECTO4_OK");
          Serial.print("EFECTO4_OK");
          for (int efectpin = 6; efectpin <= 9; efectpin++) 
          {
            digitalWrite(efectpin,HIGH); //apago todas         
          }
          for (int efectpin = 9; efectpin >=6; efectpin--) 
          {
            digitalWrite(efectpin,LOW);
            delay(1000);         
          }         
        }
        if (readString.indexOf("?efect5")>=0) //4,1,3,2
        {
          client.print("EFECTO5_OK");
          Serial.print("EFECTO5_OK");
          for (int efectpin = 6; efectpin <= 9; efectpin++) 
          {
            digitalWrite(efectpin,HIGH); //apago todas         
          }
            digitalWrite(6,LOW);
            digitalWrite(9,LOW);
            delay(1000);
            digitalWrite(7,LOW);
            digitalWrite(8,LOW);
        }        
        if (readString.indexOf("?efect6")>=0) //3,2,4,1
        {
          client.print("EFECTO6_OK");
          Serial.print("EFECTO6_OK");
          for (int efectpin = 6; efectpin <= 9; efectpin++) 
          {
            digitalWrite(efectpin,HIGH); //apago todas         
          }
            digitalWrite(7,LOW);
            digitalWrite(8,LOW);
            delay(1000);
            digitalWrite(6,LOW);
            digitalWrite(9,LOW);
        } 
          delay(1);
          Serial.println("Client.stop");    
          Serial.println("");  
          Serial.println("Conection end");
          Serial.println("");
          Serial.println("waiting for new connections...");    
          client.stop();
        }
      }
    }

so basically I run this... sequence..

send 192.168.2.91/?QueryDigital
receive QUERY_OK6=ON,7=ON,8=ON,9=ON,
send http://192.168.2.91/?efect1

receive

K DUINO_OK 0 OK Content-Type: text/html Connection: close ARDUINO_OK QUERY_OK6=OFF,7=ON,8=ON,9=OHTTP/1.1 200 OK ConHTTP/1.1 200 OK Content-Type: text/html Connection: close ARDUINO_OK EFECTO5_OK 200 OK Content-Type: text/html Connection: close ARDUINO_OK EFECTO3_OKent-Type: text/html Connection: closeHTTP/HTTP/1.1 200 OK Content-Type: text/html Connnection: close Jack's Arudino Control Jack's LED OffOn on: close Jack's Arudino Control Jack's LED OffOn ConHTTP/1.1 200 OK Content-Type: text/html Connnection: cHTHTTP/1.1 200 OK Content-Type: text/html Connection: close ARDUINO_OK Type:HTTP/1.1 200 OK Content-Type: text/html Connection: clONe ARDUINO_OK ext/html ConnectiHTTP/1.1 200 OK ContHTTP/1.1 200 OK Content-Type: text/html Connection: close QUERY_OK6=ON,7=ON,8=ON,9=ON,Type: text/html Connnection: close Jack's Arudino Control Jack's LED OffOn tml Connect OffOn e ARDUINO_OK ontent-Type: text/html Connection: close ARHTTP/1.1 200 OK Content-TypeHTTP/1.1 200 OK Content-Type: text/html Connection: close ARDUINO_OK QUERY_OK6=OFF,7=ON,8=ON,9=ON,O_OK QUERY_OK6=OFF,7=ON,8=ON,9=ON, ARDUINO_OK HTTP/1.1 200 OK Content-Type: text/html CoHTTP/1.1HTTP/1.1 200 OK Content-Type: text/html Connnection: close Jack's Arudino ControHTTP/1.1 200 OK Content-Type: text/html Connnection: close HTTP/1.1 200 OK Content-Type: text/html Connection: close ARDUINO_OK e ARDUINO_OK HTTP/1.1 200 OK Content-Type: text/html ConnHTTP/1.1 200 OK Content-Type: text/html ConHTTP/1.1 200 OK HTTP/1.1 200 OK ContHTTP/1.1 200 OK Content-Type: text/html HTTP/1.1 200 OK Content-Type: text/HTTP/1.1 200 OK Content-Type: text/html Connection: close ARDUINO_OK QUERY_OK6=OFF,7=OFF,8=OFF,9=OFF,EFECTO1_OKEFECTO2_OKEFECTO3_OKEFECTO4_OKEFECTO5_OKEFECTO6_OK this repeats but I exeeded the post limit

some times this just works fine, but some times, it crashed... any idea?
any clue?