SqlDatareader reads data from database on bases on live connection.You cannot return a SqlDataReader from a Web Service. This is a stream based object which cannot be serialized to cross machines boundaries over SOAP. You can use the DataSet instead.