ASP.NET内置对象

一、使用Application对象保存数据

Application对象是System.Web.HttpApplicationState类的实例,对象内保存的信息可以在Web服务整个运行期间保存,并且可以被调用Web服务的所有用户使用。如果Web服务类派生自WebService类,则可以直接使用Application对象。

1、在Web服务中,将状态保存到Application对象:

	Application["sum"]=100;

2、从Application对象中获取状态信息:

	int mysum=Application["sum"];

3、同一时间可能会有多个客户读取或设置其中的值,为了避免造成冲突,发生异常,使用Application中的Lock()和Unlock()方法进行同步操作:

	Application.Lock();
	Application["sum"]=100;
	Application.Unlock();


二、使用Session对象保存数据

Server对象是System.Web.HttpServerUtility类的实例,提供了一系列可处理Web请求的方法。通过Server对象,Web服务使用者可以获取Web服务所在服务器的名称、物理路径等。

[WebMethod(Description="返回Web服务器名称")]
public string GetServerName()
{
	return Server.MachineName;
}
[WebMethod(Description="把虚拟路径映射为物理路径")]
public string MapPath(string strVPath)
{
	return Server.MapPath(strVPath);
}

三、访问Request对象

通过此对象,可以可以想Web服务发送HTTP请求信息。用户可以通过WebService类的Context属性来访问Request对象。

[WebMethod(
	Description="返回客户浏览信息"
)]

public string[] GetRequest()
{
	string[] arr=new string[8];
	System.Web.HttpRequest request=this.Context.Request;
	HttpBrowserCapbilities browser=request.Browser;
	
	arr[0]="用户代理:"+request.UserAgent;
	arr[1]="用户IP:"+request.UserHostAddress;
	arr[2]="用户主机名:"+request.UserHostName;
	arr[3]="请求方法:"+request.HttpMethod;
	arr[4]="浏览器类型:"+request.Type;
	arr[5]="浏览器名称:"+request.Browser;
	arr[6]="浏览器版本:"+request.Version;
	arr[7]="客户平台:"+request.PlatForm;
	
	return arr;
}

四、访问Response对象

同Request相反,Web服务中的Response对象实现Web服务向客户发送信息的功能。同ASP.NET应用程序类似,Web服务中的Response对象也是System.Web.HttpResponse类的实例,不同之处在于,在Web服务中需要通过WebService类的Context属性来获取Response对象。

[WebMethod(Description="使用Response对象记录操作日志")]
public void Method1()
{
	HttpResponse response=this.Context.Response;
	if(response.StatusCode==200)
	{
		response.AppendToLog("用户成功调用方法Method1,@"+DataTime.Now.ToString);
	}
	else
	{
		response.AppendToLog("用户调用方法Method1失败,@"+DataTime.Now.ToString);
	}
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值