2017-04-04 6 views
0

ユーザーの要求を対応するページにマップするにはどうすればよいですか?たとえば、ユーザー要求http://127.0.0.1:8090/Test/Login?username=1&password=2を入力して、サーバーディレクトリの/Test/Login.indexファイルを読み取ります。ユーザーがリクエストしたとき:http://127.0.0.1:8090/Test/Register?Username=1&password=2(登録) http://127.0.0.1:8090/Test/Login?Username=1&password=2(ログイン) リクエストが来たら、どのように対処するのですか?これは、次のコードを処理する方法です:ユーザーの要求を対応するページにマップする

if (URL.Equals("/Test/Login.html")) 
{ 
    UM.UserName = request.Params["username"]; 
    UM.Password = request.Params["password"]; 
    jsons = dbuserdata.Login(UM.UserName,UM.Password); 
    Console.WriteLine("返回的json数据:{0}",jsons); 
} 
else if (URL.Equals("/Test/Register.html")) 
{ 
    UM.UserName = request.Params["username"]; 
    UM.Password = request.Params["password"]; 
    jsons = dbuserdata.Register(UM.UserName,UM.Password); 
    Console.WriteLine("返回的json数据:{0}",jsons); 
} 

何百ものリクエストがある場合は、数百のif/elseブロックを書き込む必要があります。

答えて

0

その後、switch文を使用し、共通部分を抽出するために、あなたのコードを簡素化できます。

UM.UserName = request.Params["username"]; 
UM.Password = request.Params["password"]; 

switch(URL) 
{ 
    case "/Test/Login.html": 
     jsons = dbuserdata.Login(UM.UserName,UM.Password); 
     Console.WriteLine("返回的json数据:{0}",jsons); 
     break; 
    case "/Test/Register.html": 
     jsons = dbuserdata.Register(UM.UserName,UM.Password); 
     Console.WriteLine("返回的json数据:{0}",jsons); 
     break; 
    default: 
     Console.WriteLine("unknown/unhandled"); 
} 
+0

ありがとうございました、しかし、あなたは別のリンクによって返されたデータが異なることに気付かないことがあります。このメソッドは、実行可能ですが、リンクがたくさんある場合、プログラムは巨大になる – user7811595

+0

私のプログラム例は、呼び出しは、登録メソッドです、1つはログインメソッドです、またはそう、多くの要求がある場合、適切なページにマップし、データを読み取り、クライアントに戻ります。 – user7811595

+0

私の謝罪、私は今それを見る。私はメソッドを編集しますが、今はあなたが探しているものだと確信しています。 – STLDeveloper

関連する問題