Certain queries, those not pertaining to a specific user, should be made static, so they are available even though a user has not been logged in. For example, simply browsing for a newly released ...
Dictionary.Add will throw an exception if a duplicate key is added (Example: FindMovies("Transformer")). Try: movies[Convert.ToInt64 (movie.Groups["movieID"].Value)] = new Movie (Convert.ToInt64 (...