2011-12-26 10 views
-2

私はWebアプリケーションを持っており、DALファイルにはいくつかの方法があります。これらのメソッドはAPIを呼び出すことで結果を得ます。例:コマンドラインでC#メソッドを実行

public string GetUserName(int userID) 
{ 
    HttpWebRequest GETRequest = (HttpWebRequest)WebRequest.Create(url); 
    GETRequest.Method = "GET"; 

    HttpWebResponse GETResponse = (HttpWebResponse)GETRequest.GetResponse(); 
    Stream GETResponseStream = GETResponse.GetResponseStream(); 
    StreamReader srResponse = new StreamReader(GETResponseStream); 

    return srResponse.ReadToEnd();  
} 

私の要件は、これらのメソッドを行のコマンドで実行し、その結果を表示することです。私はこれを行う方法を理解していません。進める方法を提案してください。

+0

コンソールアプリケーションの作成に問題がありますか?あなたが持っている具体的な難しさは何ですか? – bobbymcr

+0

コンソールアプリケーションを作成し、コード内で上記のメソッドを呼び出すことができます。 –

+0

まず、メソッド自体が実行するプロセスまたはスクリプトではないことを理解する必要があります。それをプロセスやスクリプトの一部にしてから実行してください。したがって、この場合は、Console/WinForm/WebFormアプリケーション(プロセスを実行する)を実行してから実行します。 – Zenwalker

答えて

2

さて、あなたはparse the command line argumentsが必要です。その後、私たちは次のことを行う必要があり、yourprogram.exe function_name paramValue

public static void Main(string[] args) 
{ 
    switch(args[0]) 
    { 
     case "GetUserName" : 
     Console.WriteLine(GetUserName(args[1])); 
     break; 
     case "YourOtherMethod": 
     //... 
     break; 
    } 
} 

そして、あなたはコンソールでyourprogram.exe GetUserName 5を実行しますのは、私たちはこのように私たちのコマンドライン形式を定義しましょう。

+0

ありがとうございました。私が欲しかったことをたくさんありました:) – ANP

+0

あなたは大歓迎です。 CMDで – Adam

1

直接的な方法はないと思います。コンソールアプリケーションプロジェクトを作成/追加し、参照番号DALを追加し、クラスとそのメソッドをMain()に追加する必要があります。

+0

お返事ありがとうございます。コンソールアプリケーションを作成してメソッドを追加することはできますが、コマンドライン(cmd)でこれらのメソッドを実行するにはどうすればよいですか? – ANP

+0

私は男が正しいと思う - cmdを介して(少なくとも追加の手順なしで)それを行う方法はありません。オブジェクトを作成し、PowerShell(.NETオブジェクトを直接使用することができます)を使用してメソッドを呼び出すか、コマンドラインユーティリティを作成してdll-filenameとクラス/メソッド名を取得し、そのメソッドを呼び出そうとすることができます反射を通して。しかし、多くの人が言ったように、cmdから直接行う方法はありません。 – chopikadze

0

あなたのコメントを読んだあと、ユーザーが出力を受け取るためにメソッド名を入力できるコマンドラインユーティリティについてお話していると思います。その場合は、新しいコンソールアプリケーションを作成し、適切な引数を確認し、一致する場合は適切なURL(ウェブサービスのURL)にWebリクエストを作成してから、必要なものを抽出することをお勧めしますサーバーから返された応答ストリームからの出力。

+0

、その後、ユーザーは、その後のようなものを入力する必要があります: を** C:\> ** D:\ VSProjects \ MyWebServiceApp GetUserName(55) ** D:\ VSProjects \ MyWebServiceApp **明らかですアプリケーションへのフルパス。 – MrClan

関連する問題