Asp.net Web API-如何在控制台应用程序中传入任意数量的参数(如args)?

Asp.net Web API-如何在控制台应用程序中传入任意数量的参数(如args)?,asp.net,asp.net-mvc,asp.net-web-api,asp.net-mvc-routing,model-binding,Asp.net,Asp.net Mvc,Asp.net Web Api,Asp.net Mvc Routing,Model Binding,使用ASP.NET Web API,我是否可以使用URI以与使用args关键字将参数输入控制台应用程序相同的方式传递任意数量的参数。在WebAPI的情况下,参数将由正斜杠(/)分隔。假设我在控制器MessageController中有一个方法,如下所示: public string Get(params string[] args) { string returnValue = ""; for (int i=0;i < args.Length; i++) {

使用ASP.NET Web API,我是否可以使用URI以与使用args关键字将参数输入控制台应用程序相同的方式传递任意数量的参数。在WebAPI的情况下,参数将由正斜杠(/)分隔。假设我在控制器
MessageController
中有一个方法,如下所示:

public string Get(params string[] args)
{
    string returnValue = "";

    for (int i=0;i < args.Length; i++)
    {
        returnValue += args[i] + " ";
    }

    return returnValue;
}
它应该返回字符串:

a b c d e f g h i
棘手的部分是获取要绑定到string[]类型的参数,而不是提供具有多个string属性的对象。有人知道实现这一目标的方法吗?多谢各位


编辑:params关键字留在那里,但我不确定Web API路由是否知道如何处理params。

这里是Tugberk的一篇很棒的博客文章,展示了如何处理params:

简而言之,您可以使用catch all route+HttpParameterBinding的组合

a b c d e f g h i