If it is throwing an exception that the message size is too large you could look at some of the options outlined in this question: Setting Max Message and buffer size for WCF webhttp.
Is 100 records the maximum that your service will return? If it is going to just grow and grow I would not recommend altering the message size. Instead you should probably consider some sort of paging mechanism so if you had a method that looked something like this:
IEnumerable<Record> GetRecords()
make it:
Response GetRecords(index)
Then Response would look like this:
[DataContract]
public class Response
{
[DataMember]
IEnumerable<Record> Records { get; set; }
[DataMember}
bool IsLast { get; set; }
[DataMember]
int PageIndex { get; set }
}
Then you would call it from the client something like this:
Response resp;
int pageIndex = 0;
do
{
resp = service.GetRecords(pageIndex);
// use resp.Records here - could just build a bigger list with them all in
// and use it after the loop or if your client can handle chunks, just use it
pageIndex = resp.PageIndex + 1;
} while(!resp.IsLast);
Not the most sophisticated paging but it gives you somewhere to start hopefully.