2011-12-26 4 views
-2

웹 응용 프로그램이 있고 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

먼저 메서드 자체가 프로세스 또는 실행할 스크립트가 아니라는 것을 이해해야합니다. 그래서 그것을 프로세스 나 스크립트의 일부로 만든 다음 실행하십시오. 그래서이 경우 콘솔/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 of the webservice)에 웹 요청을 한 다음 원하는 내용을 추출합니다. 서버가 리턴 한 응답 스트림의 출력.

+0

다음 사용자가 다음과 같은 무언가를 입력해야합니다 : ** C : \> ** D : \ VSProjects \ MyWebServiceApp 때 getUserName (55) 곳 ** D : \ VSProjects \ MyWebServiceApp **는 분명히 애플리케이션의 전체 경로. – MrClan

관련 문제