在 Web API 中,我有一个 UserController 里面有一个动作如下:
[HttpGet]
public string SearchByEmail(string email)
{
// how to get the sitename?
return email;
}
我已经向 WebApiConfig 添加了一个路由,如下所示:
config.Routes.MapHttpRoute(
name: "SearchUserByEmail",
routeTemplate: "{sitename}/User/SearchByEmail",
defaults: new
{
controller = "User",
action = "SearchByEmail"
});
基本上,用户可以使用以下路径调用操作:
/mysitename1/user/searchbyemail?email=lala@lala.com
如何从操作中找出站点名称?
我编写了以下方法来从我的请求中检索它:
private string GetSiteName()
{
return this.Request.RequestUri.Segments[1].Replace("/", String.Empty);
}
但是在 MVC 中没有更好的方法吗?