当我点击我的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中是不同的吗?
提前致谢!
答案 0 :(得分:1)
你可以从方法的参数中获取它...如果你可以改变它们:
[HttpPost]
[ActionName("ActionName_IfDifferentThanMethodName")]
public HttpResonseMessage method(string contract, int id)
{
string connectionString = System.Configuration.ConfigurationManager.ConnectionStrings[contract];
}