Well, you have to remember that the DataSet is going to be in memory, and to search over the DataSet, it's going to take a lot of CPU cycles to find the records you are looking for.
Add to that the fact that since this is a web application, you are going to get a lot of hits, so you are going to end up calling this routine very, very often.
My recommendation would be to store the hit counts in a database server and then update and query the server to see if the hit count is exceeded. It will be able to handle the load, as well as handle the size of the data set that you are going to query.