Asp.net mvc RedirectToAction挂起而不重定向
我有以下代码用于在我的应用程序中注册用户Asp.net mvc RedirectToAction挂起而不重定向,asp.net-mvc,asp.net-mvc-2,redirecttoaction,Asp.net Mvc,Asp.net Mvc 2,Redirecttoaction,我有以下代码用于在我的应用程序中注册用户 [HttpPost] public virtual ActionResult Register( RegisterModel model ) { if ( !ModelState.IsValid ) { //Invalid - redisplay form with errors return View( model ); } try { MembershipUser mu = _
[HttpPost]
public virtual ActionResult Register( RegisterModel model ) {
if ( !ModelState.IsValid ) {
//Invalid - redisplay form with errors
return View( model );
}
try {
MembershipUser mu = _manager.RegisterUser( model );
//Send confirmation email here
}
catch ( RegistrationException rex ) {
ModelState.AddModelError( "", rex.Message );
}
return RedirectToAction( "Index", "Home" );
}
如果用户在系统上正确注册,我会将其重定向到应用程序的主页
return RedirectToAction( "Index", "Home" );
我的dev box和staging服务器中都有这段代码。但当我将其发布到可通过互联网访问的生产服务器上时,它会挂起发送电子邮件后的最后一次呼叫,而根本不会重定向用户
有什么想法吗?洛伦佐
我认为远程邮件设置可能存在错误(配置和/或禁用),并且该错误正在try/catch块中被“吞没”。尝试禁用该块,您应该能够看到服务器上发生的实际错误。我的直觉是,这就是问题所在!!我已经走这条路很多次了,所以你并不孤单
切换到“生活”环境的乐趣
干杯…当你说它挂起时,你的意思是线程挂起,还是用户的体验是邮件被发送但他们看不到重定向?你说的第二次。它让用户等待,但不重定向到主页,所以我认为浏览器没有收到302响应,你知道它是否收到任何东西吗?我将尝试使用fiddler.Lorenzo-在远程机器上,尝试删除错误处理。可能只是调用了catch(RegistrationException rex),但被吞没了,或者远程电子邮件设置中的错误可能会导致它遍历另一个错误路径。如果看不到返回的标题(或者页面只是“保留”)就很难知道??