0

我目前有一个 ASP.NET WebService1.asmx

这用于SqlConnection与 Sql Server 通信。

我现在已经创建了WebServiceDB2.asmx哪些使用OdbcConnection.

我将从前端传入一个参数以确定我使用的服务。

因此,例如,在这背后的代码中,我将如何进行常规的 Web 服务调用-

protected void deleteButton_Click(object sender, EventArgs e)
    {
        WebService1 ws = new WebService1();
        ws.deleteTerm(term); 
    }

我的问题是有没有DB2比这更有效的方法来实现调用选项 -

protected void deleteButton_Click(object sender, EventArgs e)
    {
        if(parameter == "SQL")
        { 
             WebService1 ws = new WebService1();
             ws.deleteTerm(term);
        }
        if(parameter == "DB2")
        { 
             WebServiceDB2 ws = new WebServiceDB2();
             ws.deleteTerm(term);
        } 
    }

因为这会使我的代码翻倍,并且我会定期在网站的所有页面中调用 Web 服务。

4

1 回答 1

0

您可以在项目中的方法中提取此检查,该方法也接受服务器的参数。

public void DeleteTerm(string term, string Server)
{
   if(Server == "SQL")
    { 
         WebService1 ws = new WebService1();
         ws.deleteTerm(term);
    }
    if(Server == "DB2")
    { 
         WebServiceDB2 ws = new WebServiceDB2();
         ws.deleteTerm(term);
    } 
}

然后以后你可以这样称呼它:

protected void deleteButton_Click(object sender, EventArgs e)
{
    DeleteTerm(term,paramter);//where parameter is your class level variable. 
}
于 2013-02-07T12:09:12.570 回答