2017-03-07 31 views
1

我正在創建一個監視應用程序,測試服務器是否正在運行。如何讀取用戶輸入以啓動c中的方法#

我希望用戶選擇他們在Dev,stage或Prod中運行的環境,然後對該特定環境進行測試。

我是新來的C#,因此想一些指導如何用此去..

僞代碼,

  1. 定義所有的服務器地址不同的環境

  2. 要求用戶選擇他們想測試的環境

  3. 讀取用戶的輸入並將它們帶到第e方法(與輸入名稱相同)讀取環境並在服務器運行時開始測試。

我不知道如何去解決這個問題......有什麼幫助嗎?

到目前爲止,這是我有:

class Program 
{ 
    static void Main(string[] args) 
    { 
     Console.WriteLine("Please choose your environment and Username to test from below"); 
     Console.WriteLine("Dev"); 
     Console.WriteLine("Stage"); 
     Console.WriteLine("Prod"); 

     string inputtedText = ""; 
     inputtedText = Console.ReadLine(); 

     if (inputtedText == "Dev") { Program.TestServer(null); } 
     if (inputtedText == "Stage") { Program.TestServer(null); } 
     if (inputtedText == "Prod") { Program.TestServer(null); } 
    } 

    static void TestServer (string[] args) 
    { 
     //how to read the specific username and server for this credential creation? 
    System.Net.NetworkCredential credentials = new System.Net.NetworkCredential(ServerName, UserName); 
    } 
+0

我不確定你想做什麼;你想讀取一個輸入並調用與輸入內容相同名稱的方法? – Kilazur

+0

是的,這是正確的,對不起,我沒有說清楚 – tintin

+0

你已經知道如何讓用戶輸入環境名稱並使用它。憑證有什麼問題?難道你不能這樣做 - 請用戶輸入它們嗎? – Reniuz

回答

0

由於缺乏細節,從我聽到的,我猜你正在尋找類似的東西:

static void Main(string[] args) 
{ 
    Console.WriteLine("Please choose your environment and Username to test from below"); 
    Console.WriteLine("Dev"); 
    Console.WriteLine("Stage"); 
    Console.WriteLine("Prod"); 

    string inputtedText = ""; 
    inputtedText = Console.ReadLine(); 

    if (inputtedText == "Dev") { Program.TestServer("DevMachine", "DevUser", "DevPass"); } 
    if (inputtedText == "Stage") { Program.TestServer("StageMachine", "StageUser", "StagePass"); } 
    if (inputtedText == "Prod") { Program.TestServer("ProdMachine", "ProdUser", "ProdPass"); } 
} 

static void TestServer (string ServerName, string UserName, string UserPassword) 
{ 
    //Use ServerName UserName and UserPassword 
} 

代碼上面使用硬編碼的值。您應該考慮將這些值存儲在config file中。