[WebMethod(EnableSession = true)]
public static string SayHello()
{
LxUserContext depno = HttpContext.Current.Session["UserContext"] as LxUserContext;
string depnos = depno.User.Department.ID;
.......
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Net;
using CityMgr;
using CityMgr.Base; namespace WebApp
{
/// <summary>
/// 用户上下文
/// </summary>
[Serializable]
public class LxUserContext
{
/// <summary>
/// 当前用户
/// </summary>
public LxPerson User { get; set; }
/// <summary>
/// 当前用户拥有的权限列表
/// </summary>
public List<LxAuth> HoldAuth { get; set; }
/// <summary>
/// 登录时间
/// </summary>
public DateTime LoginTime { get; set; }
/// <summary>
/// 客户端IP地址
/// </summary>
public string IP { get; set; } /// <summary>
/// 验证权限
/// </summary>
/// <param name="authId">权限ID</param>
/// <returns>是否拥有此权限</returns>
public bool ValidateAuth(string authId)
{
return HoldAuth.Contains(new LxAuth() { ID = authId });
} /// <summary>
/// 验证权限
/// </summary>
/// <param name="authIds">权限ID列表</param>
/// <returns>是否拥有此权限</returns>
public bool ValidateAuth(string[] authIds)
{
bool result = false;
foreach (var auth in authIds)
{
if (HoldAuth.Contains(new LxAuth() { ID = auth }))
result = true;
break;
}
return result;
} /// <summary>
/// 获取当前用户登录上下文
/// </summary>
/// <returns>用户登录上下文</returns>
[AjaxPro.AjaxMethod(AjaxPro.HttpSessionStateRequirement.Read)]
public static LxUserContext GetCurUserContext()
{
var obj = HttpContext.Current.Session["UserContext"] as LxUserContext;
obj.User.Department.LoadData();
return obj;
} }
}

WebMethod Session的更多相关文章

  1. 如何解决设置Session保存在StateServer后引起WebService/WebMethod无法异步获取Session

    项目中有一个文件上传功能,需要显示文件上传进度.于是使用PageMethods 调用WebService/WebMethod . 在demo中测试一切正常.但是转移到项目中之后无法异步刷新文件上传进度 ...

  2. System.Web.HttpContext.Current.Session为NULL解决方法

    http://www.cnblogs.com/tianguook/archive/2010/09/27/1836988.html 自定义 HTTP 处理程序,从IHttpHandler继承,在写Sys ...

  3. 请求WebMethod, Ajax 处理更加专注

    在WebForm下 开发ajax程序,需要借助于一般处理程序(*.ashx)或web服务(*.asmx),并且每一个ajax请求,都要建一个这样的文件,如此一来,如 果在一个项目中ajax程序多了,势 ...

  4. ajax调用aspx.cs中的WebMethod

    前台: <script language="javascript" src="../js/jquery-1.8.2.js"></script& ...

  5. 用jQuery.ajaxWebService请求WebMethod,Ajax处理实现局部刷新

    首先在aspx.cs文件里建一个公开的静态方法,然后加上WebMethod属性. 如: [WebMethod]  public static string GetUserName()   {  //. ...

  6. WebMethod属性详解

    WebMethod有6个属性:.Description.EnableSession.MessageName.TransactionOption.CacheDuration.BufferResponse ...

  7. WebServices中使用Session

    默认情况下,Asp.net使用cookie来管理会话状态.因此,Asp.net假设客户端存储了会话cookie并将它与每一个请求一并发回给客户端. /// <summary> /// Su ...

  8. WebMethod 属性

    WebMethod有以下几种属性: BufferResponse CacheDuration Description EnableSession MessageName TransactionOpti ...

  9. System.Web.HttpContext.Current.Session为NULL值的问题?

    自定义 HTTP 处理程序,从IHttpHandler继承,在写System.Web.HttpContext.Current.Session["Value"]的时 候,没有问题,但 ...

随机推荐

  1. 分布式架构高可用架构篇_activemq高可用集群(zookeeper+leveldb)安装、配置、高可用测试

    原文:http://www.iteye.com/topic/1145651 从 ActiveMQ 5.9 开始,ActiveMQ 的集群实现方式取消了传统的Master-Slave 方式,增加了基于Z ...

  2. ORACLE 数据库名、实例名、ORACLE_SID的区别

    数据库名(DB_NAME).实例名(Instance_name).以及操作系统环境变量(ORACLE_SID) 在ORACLE7.8数据库中只有数据库名(db_name)和数据库实例名(instanc ...

  3. Vue生命周期各阶段发生的事情

    首先,参考之前一篇vue生命周期的总结:Vue生命周期总结 接下来我们来分析下官方文档经典流程图,每个阶段到底发生了什么事情. 1.在beforeCreate和created钩子函数之间的生命周期 在 ...

  4. https://v2ex.com/t/170386

    https://v2ex.com/t/170386 https://cnodejs.org/topic/5566952ad4ca459f5267ac59 https://segmentfault.co ...

  5. [Python爬虫] 之二十三:Selenium +phantomjs 利用 pyquery抓取智能电视网数据

    一.介绍 本例子用Selenium +phantomjs爬取智能电视网(http://news.znds.com/article/news/)的资讯信息,输入给定关键字抓取资讯信息. 给定关键字:数字 ...

  6. Linux文件夹、分区

    必须明确,硬盘分区的存在,是由硬盘的物理特性决定的,不会因为操作系统的不同而有所改变 所以不用对为根目录/挂载分区的同时还为/usr挂载分区感到惊讶   ====分区的概念==== 可以把一个硬盘比成 ...

  7. 踩坑记:httpComponents 的 EntityUtils

    今天写的一个服务程序,有人报告获得的数据中文乱码,而我是用 apache 通过 httpComponents 去取得数据的.于是开启日志的 debug 级别. 在日志里果然发现中文不见了,有乱码出现: ...

  8. 响应式设计工具网站mydevice.io

    1.网址 https://mydevice.io/ 2.使用 在mydevice.io上有常见智能手机,PC电脑的尺寸.

  9. TCP和UDP比較

    一.TCP/IP协议 TCP/IP协议,你一定常常听说吧,当中TCP(Transmission Control Protocol)称为传输控制协议,IP(Internet Protocol)称为因特网 ...

  10. Oracle 和sqlserver 字符串补齐

    Oracle:Lpad函数 语法格式如下: lpad( string, padded_length, [ pad_string ] ) string 准备被填充的字符串: padded_length ...