2017-03-07 63 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中。