1

当我点击我的 API 控制器时,我希望从我的路由中获取 {contract} 值。

config.Routes.MapHttpRoute(
            name: "DefaultApi",
            routeTemplate: "api/{contract}/{controller}/{id}",
            defaults: new { id = RouteParameter.Optional }
        );

因此,当用户点击 /api/rearch/allergies/1234 时,我想抓取“rearch”并使用它来获取连接字符串。

我尝试使用 RouteData 和 RouteTable 如下所示,但没有成功:

this.RouteData.Values["contract"].ToString() 
RouteTable.Routes["contract"]

有什么我想念的吗?这在 ApiController 中有什么不同吗?

提前致谢!

4

1 回答 1

1

您可以从方法的参数中获取它...如果您可以更改这些参数:

[HttpPost]
[ActionName("ActionName_IfDifferentThanMethodName")]
public HttpResonseMessage method(string contract, int id)
{
  string connectionString = System.Configuration.ConfigurationManager.ConnectionStrings[contract];
}
于 2013-05-08T19:37:29.627 回答