[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. 关于BOM UTF8

    这三篇可以看下: http://www.zhihu.com/question/20167122 http://www.cnblogs.com/DDark/archive/2011/11/28/2266 ...

  2. 64个命令,每天一个linux命令目录, shutdown,tee,rcp,

    每天一个linux命令目录 开始详细系统的学习linux常用命令,坚持每天一个命令,所以这个系列为每天一个linux命令.学习的主要参考资料为: 1.<鸟哥的linux私房菜> 2.htt ...

  3. HDFS 中向 DataNode 写入数据失败了怎么办

    https://blog.csdn.net/HeatDeath/article/details/79012258 http://wenda.chinahadoop.cn/question/3323 h ...

  4. 多个客户端连接socket

    import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.IOException; import ...

  5. SVN回到历史版本--转载

    svn回到历史的某个版本 在代码的编写过程中,难免有些错误需要修改,或者想从以前的文件进行代码修改,这样就涉及到版本的追踪,如果你以前提交时日志写的非常清楚,那版本追踪回滚起来就事半功倍.得心应手.下 ...

  6. 谋哥:玩App怎么赚钱(三)

    谋哥每天坚持写文章,如今写作速度是越来越快了,当然这样也能节省点时间.只是坚持每天写,确实须要极大的耐力和毅力,由于偶然事件会影响你心情和灵感.只是我一直相信秦刚老师(微信/QQ1111884 )说的 ...

  7. docker入门——简介

    从这里起航 本系列有感于<第一本Docker书>,当我拿到这本书时感觉如获至宝. 为了培养自己对docker的兴趣,不断鞭策自己,我决定开始写这个系列的博客——<站在蓝鲸的背上思考& ...

  8. Python Socket API 笔记

    将上节中的C#该成Python版的容易程度大大超出了我的意料之外.从来没有发现,仅仅用灰尘简单的几句话就实现了该程序的主要功能,可见python的简易和强大之处.这里先对SocketAPI 做一下总结 ...

  9. 应用程序池和应用程序域的区别(Difference between application pool and application domain)

    来自StackOverFlow:  http://stackoverflow.com/questions/8486335/difference-between-an-application-domai ...

  10. 【Datastage】NULL VALUE TO A NOT NULL VALUE

    使用ds是报错如上图: 造成这个问题的原因是: 在写SQL时候没有给字段别名与DS中对应一致 例如有下表: CREATE TABLE DataInfo( ID_1 ), ID_2 ) ) CREATE ...