【发布时间】:2016-09-22 12:40:45
【问题描述】:
我已将 asp.net core 1.0 应用程序作为新网站发布到 IIS 8.5 版。 我只能看到登录页面。登录成功后,得到空白页面。也许路由不能正常工作。我在我的开发机器上运行这个应用程序没有任何问题。请参阅我的配置和启动
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
loggerFactory.AddConsole(Configuration.GetSection("Logging"));
loggerFactory.AddDebug();
app.UseApplicationInsightsRequestTelemetry();
app.UseSession();
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
app.UseBrowserLink();
}
else
{
app.UseExceptionHandler("/Home/Error");
}
app.UseApplicationInsightsExceptionTelemetry();
app.UseStaticFiles();
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Login}/{action=Login}/{id?}");
});
}
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified"/>
</handlers>
<aspNetCore processPath="%LAUNCHER_PATH%" arguments="%LAUNCHER_ARGS%" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" forwardWindowsAuthToken="false"/>
登录控制器
public class LoginController : Controller
{
private StaunchContext _context;
public LoginController(StaunchContext context)
{
_context = context;
}
// GET: /<controller>/
public IActionResult Login()
{
return View();
}
[HttpPost]
public async Task<IActionResult> Login(UserDetails users)
{
if (ModelState.IsValid)
{
var exist =await _context.UserDetails.SingleOrDefaultAsync(x => x.Email == users.Email && x.Password == users.Password);
if ((exist!=null)&& exist.Id > 0)
{
TempData["Users"] = JsonConvert.SerializeObject(exist);
HttpContext.Session.SetString("Email", exist.Email);
return RedirectToActionPermanent("Index", "Search");
}
else
{
ModelState.AddModelError("loginerror", "Invalid username or password");
}
}
return View(users);
}
【问题讨论】:
-
浏览器开发者工具是否有网络错误? (按 F12 -> 网络选项卡)
-
能否添加 SearchController 的代码?
-
您是否在检查用户是否在 SearchController 中进行了身份验证?因为 Login post 方法中没有任何内容表明用户已通过身份验证。
-
是的,Petre 的评论是正确的。从浏览器的开发者控制台向我们展示您的网络或 JavaScript 错误
标签: c# asp.net asp.net-core