Hi

I'm trying to create a WebService that almost acts as a Dictionary, takes input of one word and outputs the meaning of that word. Reading from a CSV file. This is my current code;

Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.IO;

namespace WebService1
{
    /// <summary>
    /// Summary description for Service1
    /// </summary>
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]
    // To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. 
    // [System.Web.Script.Services.ScriptService]
    public class Service1 : System.Web.Services.WebService
    {

        static Dictionary<string, string> _dictionary = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase);
        static void Main(string[] args)
        {
            using (var reader = new StreamReader(File.OpenRead(@"C:/dictionary.csv")))
            {
                while (!reader.EndOfStream)
                {
                    string[] tokens = reader.ReadLine().Split(',');
                    _dictionary[tokens[0]] = tokens[1];
                }
            }
        }
        [WebMethod]
        public string Translate(string input)
        {
            string output;
            if (_dictionary.TryGetValue(input, out output))
                return output;

            throw new Exception("Invalid input, please try again.");
        }
    }
}
When I run the code I get the webpage but when I input a word I get this error;

This is the error I recieve;

Code:
System.Exception: Invalid input, please try again.
   at WebService1.Service1.Translate(String input) in Service1.asmx.cs:line 40
This is line 40;

Code:
throw new Exception("Invalid input, please try again.");
Can anyone point out a mistake that I've made?

Nat