Asp.net mvc 3 IEnumerable的用途是什么<;IUserEventHandler>;Orchard.User模块中的UserEventHandler
我想知道Orchard.User模块中定义的AccountController中的IEnumerable UserEventHandler有什么用途Asp.net mvc 3 IEnumerable的用途是什么<;IUserEventHandler>;Orchard.User模块中的UserEventHandler,asp.net-mvc-3,orchardcms,Asp.net Mvc 3,Orchardcms,我想知道Orchard.User模块中定义的AccountController中的IEnumerable UserEventHandler有什么用途 [HttpPost] [SuppressMessage("Microsoft.Design", "CA1054:UriParametersShouldNotBeStrings", Justification = "Needs to take same parameter type as Controller
[HttpPost]
[SuppressMessage("Microsoft.Design", "CA1054:UriParametersShouldNotBeStrings",
Justification = "Needs to take same parameter type as Controller.Redirect()")]
public ActionResult LogOn(string userNameOrEmail, string password, string returnUrl) {
var user = ValidateLogOn(userNameOrEmail, password);
if (!ModelState.IsValid) {
var shape = _orchardServices.New.LogOn().Title(T("Log On").Text);
return new ShapeResult(this, shape);
}
_authenticationService.SignIn(user, false);
foreach (var userEventHandler in _userEventHandlers) {
userEventHandler.LoggedIn(user);
}
return this.RedirectLocal(returnUrl);
}
它建议您可以传递一个包含IUserEventHandler的IEnumerable。当事件发生时,将按顺序调用这些函数
foreach (var userEventHandler in _userEventHandlers) {
userEventHandler.LoggedIn(user);
}
我可以想象,您可能有多个订阅者需要关心某个用户是否已登录,这是一种干净的通知方式。它建议您可以传递一个包含IUserEventHandler的IEnumerable。当事件发生时,将按顺序调用这些函数
foreach (var userEventHandler in _userEventHandlers) {
userEventHandler.LoggedIn(user);
}
我可以想象,您可能有多个订阅者需要关注某个用户已登录,这是一种干净的通知方式。谢谢@Chris,我想知道这种用户事件可以在这里调用吗?对不起,我的英语很差。我想说的是iSureEvEnthand的任何一个。如果你认为这是一个答案,你会很感激。很高兴为您提供帮助谢谢@Chris,我想知道这种用户活动可以在这里调用吗?对不起,我的英语很差。我想说的是iSureEvEnthand的任何一个。如果你认为这是一个答案,你会很感激。很乐意帮忙