草庐IT

c# - 无法添加和获取自定义声明值

我正在使用身份为2.0的mvc5。我想在应用程序上使用自定义声明值,但我得到的是空值。我究竟做错了什么?更新代码帐户Controller中的登录代码if(!string.IsNullOrEmpty(model.UserName)&&!string.IsNullOrEmpty(model.Password)){AuthenticationManager.SignOut(DefaultAuthenticationTypes.ExternalCookie);varresult=SignInManager.PasswordSignIn(model.UserName,model.Password

c# - Owin/IIS 应用程序在 Azure 上的性能不佳

我们测量了一些性能测试,我注意到CPU在内核模式下运行了很多时间。我想知道这是为什么。应用程序:它是经典的Azure云服务Web角色,Owin在IIS下监听,Owin本身只提供缓存在内存中的静态文件(因此应该只有一点性能损失和一切都应该很快)。内容通过awaitstream.CopyToAsync(response.Body)复制到输出流。测试本身在gatling中看起来像这样:valopenLoginSet=exec(http("ROOT").get("/").headers(Headers105Test2.headers_0).resources(http("MED:arrow-d

c# - Owin SelfHost WebApi - 客户端在响应期间关闭连接会引发异常吗?

我正在运行一个基于OwinSelfhost的WebApi,我已经通过放入了一个API未处理的异常记录器config.Services.Add(typeof(IExceptionLogger),_apiExceptionLogger);ApiExceptionLogger相关部分:publicoverridevoidLog(ExceptionLoggerContextcontext){if(context==null||context.ExceptionContext==null)return;Logger.Error("UnhandledexceptionfromWebAPI",con

c# - 无法验证 OWIN OpenIdConnect 中间件 IDX10311 nonce

我有一个将OWIN中间件用于OpenIdConnect的应用程序。startup.cs文件使用app.UseOpenIdConnectAuthentication的标准实现。cookie已设置到浏览器,但它会出错:IDX10311:RequireNonceis'true'(default)butvalidationContext.Nonceisnull.Anoncecannotbevalidated.Ifyoudon'tneedtocheckthenonce,setOpenIdConnectProtocolValidator.RequireNonceto'false'.我发现当像我对大

c# - 如何使用刷新 token 更新访问 token ?

我正在使用ASP.NETMVC5和OWIN。我做了很多研究,还没有找到如何使用刷新token更新访问token。我的场景是:用户第一次访问我的应用程序时,他或她授予访问我读取从API返回的刷新token的帐户的权限。当用户返回我的应用程序时,我需要根据“刷新token”刷新访问token。谁能提供一些代码?这是我到目前为止所取得的成就:Startup.Auth.cs:vargoogleOAuth2AuthenticationOptions=newGoogleOAuth2AuthenticationOptions{Caption="Google+",ClientId=Parameters

c# - 如何在 ASP.NET MVC 5 中将 IAuthenticationManager 与 Ninject 绑定(bind)?

我正在尝试将IAuthenticationManager与Ninject绑定(bind),以便它可以注入(inject)到我的AuthenticationService中。问题是我目前从HttpContext.GetOwinContext()在我的Controller上获取IAuthenticationManager,如下所示:privateIAuthenticationManagerAuthenticationManager{get{returnthis.HttpContext.GetOwinContext().Authentication;}}我如何着手创建与Ninject的绑定(

c# - Owin 中间件 VS WebAPI DelegatingHandler

我正在阅读文章并检查示例,我发现Owin中间件的使用方式与WebAPIDelegatingHandler相同:记录传入请求、验证header等。我唯一的理解是Owin中间件在管道中出现在DelegatingHandlers之前。因此,如果您为用户授权创建一个Owin中间件,您可以在较低级别更快地拒绝被禁止的请求。这两者有什么区别,或者使用它们有什么优点/缺点吗? 最佳答案 我也在研究这个以找出有什么区别。我可以想出一些可能对你有帮助的想法。我想他们的目的是一样的,没有太大的不同。但是与owin相比,DelegatingHandler

c# - 如何从 Global.asax 获取 OwinContext?

我正在尝试设置我的依赖注入(inject),我需要将IAuthenticationManager从ASP.NETIdentity注入(inject)到OwinContext。为此,我从我的Global.asax->ServiceConfig.Configure()运行:container.Register(()=>HttpContext.Current.GetOwinContext().Authentication);但是当我运行我的应用程序时,我收到这条消息:Noowin.Environmentitemwasfoundinthecontext为什么这个HttpContext.Curr

c# - Mono 上的 SignalR 和 Websockets

我已经进行了数小时的搜索,试图弄清楚为什么websockets传输无法通过信号器在我的c#4.5应用程序上通过mono4.0.1在linux上运行。我项目中的引用:Microsoft.Owin.Host.HttpListenerMicrosoft.Owin.Host.SystemWeb现在,我正试图找出阻止websockets工作的瓶颈所在。我的理解是,SystemWeb基本上是一个自运行服务器,它利用Httplistener监听HTTP连接的端口,然后处理它们直到系统网。我的这一部分是否正确?有人可以为我指明正确的方向以解决当前正在开发的未解决问题或错误跟踪器吗?据我所知,http.

c# - OWIN app.use vs app.run vs app.map

app.use、app.run、app.map在Owin中有什么区别??什么时候用什么?阅读文档时并不简单。 最佳答案 app.use将一个中间件插入到管道中,这需要您通过调用next.Invoke()来调用下一个中间件。app.run插入一个没有next的中间件,所以它只是运行。使用app.map,您可以映射路径,这些路径在运行时根据请求进行评估,仅当请求路径与您映射的模式匹配时才运行某些中间件。请参阅useandrun的文档和map了解更多详情 关于c#-OWINapp.usevsa