我使用federatedauthentication在客户端和wcf服务应用程序之间进行通信时遇到问题.
在我的客户端应用程序(带有Forms身份验证的ASP.NET MVC)上,我将用户数据传递给声明,并构建一个SessionSecurityToken:
SessionSecurityToken sessionSecurityToken = new
SessionSecurityToken(transformedPrincipal,
TimeSpan.FromMinutes(tokenLifeTime));
sessionSecurityToken.IsReferenceMode = true;
FederatedAuthentication.SessionAuthenticationModule.WriteSessionTokenToCookie(sessionSecurityToken);
Run Code Online (Sandbox Code Playgroud)
tokenLifeTime等于25分钟.
在我的服务上,我想阅读cookie并获取存储在声明中的用户数据.但是,当我在我的服务上运行以下代码时:
SessionSecurityToken token;
FederatedAuthentication.SessionAuthenticationModule.TryReadSessionTokenFromCookie(out token);
Run Code Online (Sandbox Code Playgroud)
令牌为空.
更新:
我注意到,如果我只是在客户端应用程序中创建一个服务,则会毫无问题地读取令牌.我也可以设置Httpcontext.Current.user,它工作正常.但是我确实希望通过服务引用来使用服务,在这种情况下,HttpContext.Current.User都是空的(但不是null!),并且上面没有读取cookie.
我有一个关于在使用PostgreSQL和Windows服务器时负载平衡的可能性的问题.在Unix系统上,这可以通过使用pgpool-II实现.如何在Windows中实现相同的目标?
我知道在复制时你不能混合使用系统.Pgpool文档说明:
我可以将PostgreSQL的不同平台混合为pgpool-II后端,例如Linux和Windows吗?
在流复制模式下,没有
那个不同的场景怎么样?我可以在Unix机器上运行pgpool,并在Windows服务器池上配置复制和负载平衡吗?
我正在使用Windows Server 2008 R2以防万一.