错误点源自于:
1
2
3
4
5
6
7
8
9
10
11
|
public
ApplicationSignInManager SignInManager
{
get
{
return
_signInManager ?? HttpContext.GetOwinContext().Get<ApplicationSignInManager>();
}
private
set
{
_signInManager = value;
}
}
|
的这一行:
return _signInManager ?? HttpContext.GetOwinContext().Get<ApplicationSignInManager>();
处理方法,参考了这篇文章:https://www.asp.net/aspnet/overview/owin-and-katana/owin-startup-class-detection
首先:看网站根目录下是否有Startup.cs文件,经检查,存在,源码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
using
Microsoft.Owin;
using
Owin;
[assembly: OwinStartupAttribute(
typeof
(LMSoft.Zhaopin.Startup))]
namespace
LMSoft.Zhaopin
{
public
partial
class
Startup
{
public
void
Configuration(IAppBuilder app)
{
ConfigureAuth(app);
}
}
}
|
经比对,此文件不需要修改。
然后看ConfigureAuth方法。
1
2
3
4
5
|
public
void
ConfigureAuth(IAppBuilder app)
{
...
app.MapSignalR();
}
|
最后一行必须有
app.MapSignalR();
在web.config的appSettings节必须有
<add key="owin:appStartup" value="LMSoft.Zhaopin.Startup" />
如果这节中有
<add key="owin:AutomaticAppStartup" value="false" />
则需要删除