我使用自定义ClaimsAuthorizationManager在MVC中进行授权,但我遇到了一个问题.
异常信息:异常类型:NotSupportedException异常消息:ID1075:如果没有当前主体(HttpContext.Current.User)作为ClaimsPrincipal,则不能使用ClaimsAuthorizationModule.在System.IdentityModel.Services.ClaimsAuthorizationModule.Authorize()
我没有在应用程序的早期更改有关Current Principal的任何内容......想法?我很难过,并且正在寻找那个没有发现任何错误的错误......
<system.webServer>
<modules>
...
<add name="ClaimsAuthorizationModule" type="System.IdentityModel.Services.ClaimsAuthorizationModule, System.IdentityModel.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
</modules>
</system.webServer>
<system.identityModel>
<identityConfiguration>
<claimsAuthorizationManager type="NamespaceFun.CustomAuthorizationManager, NamespaceFun" >
<policy resource="http://localhost:52606/" action="GET">
</policy>
</claimsAuthorizationManager>
...
</identityConfiguration>
</system.identityModel>
public class CustomAuthorizationManager : ClaimsAuthorizationManager
{
public override bool CheckAccess(AuthorizationContext context)
{
return true;
}
}
Run Code Online (Sandbox Code Playgroud) 我正在编写一个Windows服务,它将处理大量输入文件.
我的问题是我是否应该使用async和await,或者我是否应该使用可以创建自定义库来Task限制并发线程的数量.
我知道一个事实,如果我排队200个线程,完成所有事情需要更长的时间,而不是一次运行10个(各种资源争夺,CPU中的上下文切换等)
所以我的问题是这些新一届特征是否async和await任何更多的运行时的弹性,或者我应该只写我自己的定制库?