WCF messageheader校验头

来源:互联网 发布:数据安全管理方法 编辑:程序博客网 时间:2024/06/07 14:47
</pre><pre name="code" class="csharp">客户端ServiceTokenValidation.DinoTechDataSyncServiceClient client = new ServiceTokenValidation.DinoTechDataSyncServiceClient(); using (OperationContextScope scope = new OperationContextScope(client.InnerChannel))            {                //client.ValidateUser("demo@qq.com", "123", "");                MessageHeader LogHeader = MessageHeader.CreateHeader("LogHeader", "LogNameSpace", "qW4flQNobLQ=");                MessageHeader TokenHeader = MessageHeader.CreateHeader("TokenHeader", "TokenNameSpace", "yIRvo9Tr0UadIYa64nzCSg_NJJIblZZqug=");                OperationContext.Current.OutgoingMessageHeaders.Add(LogHeader);                OperationContext.Current.OutgoingMessageHeaders.Add(TokenHeader);                          ServiceTokenValidation.ResponseStatus obj = client.SubmitRegionalAreas(new ServiceTokenValidation.Areas[] {                 new ServiceTokenValidation.Areas                {                    Name = "Metasys",                    AreaType = 51,                    ParentAreaId = null,                    DisplayedOrder = 1,                    Id = "15855",                },                                });                Console.WriteLine(obj.Message + "\n\t" + obj.Status);                Console.WriteLine("服务方法已调用。");            }服务器段 private int GetCompanyId()        {            try            {                int companyId = 0;                string token = Convert.ToString(OperationContext.Current.IncomingMessageHeaders.GetHeader<string>("TokenHeader", "TokenNameSpace")).Trim();                string strEncryptedCompanyId = token.Substring(token.IndexOf('_') + 1);                companyId = strEncryptedCompanyId.Decrypt();                return companyId;            }            catch (Exception ex)            { throw ex; }        }


1 0
原创粉丝点击