[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. 如何查看oracle的sid

      1.怎样查看Oracle的数据库名称sid 用sysdba身份登录 比如 conn sys/密码 as sysdba 匿名管理员登陆 执行 select name form V$database; ...

  2. Tomcat环境下配置数据源

    两种方式,图形化和字符型配置,图形化需要部署一个应用,字符型配置如下: 需要文件 mysql-connector-java-5.1.16-bin.jar Oracle需要classes12.jar文件 ...

  3. Selenium——去掉Chrome正受到自动软件测试的控制

    selenium打开chrome浏览器时,地址栏下方会出现该提示“Chrome正在受到自动测试软件的控制” public class BasicDriver { public WebDriver dr ...

  4. 【重点突破】—— 当better-scroll 遇见Vue

    前言:在学习黄轶老师的<Vue.js高仿饿了么外卖App>课程中接触到了better-scroll第三方JavaScript组件库,这是黄轶老师自己基于iscroll重写的库.这里结合黄轶 ...

  5. nginx+vue实例纪录

    参考:http://www.cnblogs.com/wuac/p/6406843.html 新建工作目录vuepro,命令行之行命令:vue init webpack vue-test (项目默认的名 ...

  6. 百度地图-修改marker图标(icon)

    百度地图-修改marker图标(icon) 学习了:https://blog.csdn.net/clh604/article/details/9412291/ 源码膜拜: var map = new ...

  7. ns3加入模块之vanet-highway

    在网上搜了下加入模块的教程,搜到了一个帖子:ns3加入模块 ,可是这个帖子只给出了如何加入的步骤.我认为写的比較简单,当我们须要加入别的模块时就不知道如何操作了. 所以,我写这个帖子,会将非常多遇到的 ...

  8. PHP怎么实现站点保存快捷方式

    PHP怎么实现站点保存快捷方式 <?php $Shortcut = "[InternetShortcut] URL=http://blog.csdn.net/phpfenghuo/ I ...

  9. gdb调试多进程和多线程命令(转)

    1. 默认设置下,在调试多进程程序时GDB只会调试主进程.但是GDB(>V7.0)支持多进程的分别以及同时调试,换句话说,GDB可以同时调试多个程序.只需要设置follow-fork-mode( ...

  10. android 完美的tabhost 切换多activity布局

    TabHost在很多应用都会使用到,有时候在TabHost添加的Tab中设置view不能满足需求,因为在view中添加如PreferenceActivity相当困难. 之前在一个应用中需要实现使用Ta ...