在此设置一个函数,您可以将该函数投放到控制器中,然后在获取 ID 的动作中使用该函数。当服务提供方给您一个 API 来查询成员资格数据库时,无需做所有代码即可查询该数据库。
private Guid GetUserID() {
var currentUser = Membership.GetUser(User.Identity.Name);
var userID = (Guid)currentUser.ProviderUserKey;
return userID;
}
public ActionResult Index() {
var userID = GetUserID();
...
}
您也可以将该代码放入一个基本控制器, 这样您就可以从继承该代码的任何控制器中获取该函数。 这样可以保留您的代码 DRY( 重覆您自己), 这样您就不会有代码重复 。
用法将是
创建基地控制器, 并将其放置在 主计长
下称为 base
的文件夹
namespace YourApp.Web.Controllers {
public abstract class MyBaseController : Controller {
protected Guid GetUserID() {
var currentUser = Membership.GetUser(User.Identity.Name);
var userID = (Guid)currentUser.ProviderUserKey;
return userID;
}
}
}
现在您可以通过继承该控制器来在您的任何常规控制器中使用该控制器 。
public class HomeController : MyBaseController {
public ActionResult Index() {
var userID = GetUserID();
...
}
}