新客网WWW.XKER.COM:致力做中国最专业的网络学院!
学院: 操作系统 - 网络应用 - 服务器 - 网络安全 - 工具软件 - 办公软件 - Web开发 - 数据库 - 网页设计 - 图形图像 - 媒体动画 - 硬件学堂 - 存储频道 - QQ专区
您的位置:首页 > 软件开发 > .Net开发 > Asp.net教程 > 正文:从Web Services中访问服务器变量

从Web Services中访问服务器变量

新客网 XKER.COM 2003-07-12 来源: 收藏本文
在新闻组中最经常被问到的问题就是“如何从一个web Services(Web服务)内部获取客户浏览器的IP地址?” 这个问题的答案非常简单。system.web.services名称空间内部的Context类代表了web服务的上下文。换句话说,它从一个正在运行的web服务内部对不同的对象进行引用。比如Response(响应)、Request(请求)和Session对象,以及在服务上调试是否激活之类的信息。

本文我们用一个非常基本的例子来描述两件事:

1、取得客户浏览器的IP地址
2、取得所有的web 服务器变量

源代码如下,很容易理解:

<%@ Webservice Language="C#" class="httpvars" %>
using System;
using System.Collections;
using System.Web.Services;
public class httpvars : WebService
{
// This method returns the IP address of the client
[WebMethod]
public String ipAddress ()
{
// The Context object contains reference to Request object
return Context.Request.ServerVariables["REMOTE_ADDR"];
}
// This method returns the all the server variables as HTML
[WebMethod]
public String allHttpVars ()
{
// Instantiate a collection that will hold the
// key-value collection of server variables
NameValueCollection serverVars;
String returnValue = "";
serverVars = Context.Request.ServerVariables;
// Retrieve all the Keys from server variables collection
// as a string array
String[] arVars = serverVars.AllKeys;
// Loop through the keys array and obtain the
// values corresponding to the individual keys
for (int x = 0; x < arVars.Length; x++)
{
returnValue+= "<b>" + arVars[x] + "</b>: ";
returnValue+= serverVars[arVars[x]] + "<br>";
}
return returnValue;
}
}

http://www.dotnet101.com/articles/demo/art033_servervars.asmx进行代码演示。注意:第二个方法allHttpVars()返回HTML内容。
(转)
收藏】 【评论】 【推荐】 【投稿】 【打印】 【关闭
发表评论
要记得去论坛讨论,点击注册新会员匿名评论
评论内容:不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
阅读排行
随机推荐
实用信息推荐