从Web Services中访问服务器变量

services|web|变量|访问|服务器

在新闻组中最经常被问到的问题就是“如何从一个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内容。
(转)

时间: 2024-07-29 17:10:08

从Web Services中访问服务器变量的相关文章

在Web Services中管理Sessions

在Web service中通常采用两种公认技术来管理session,一种是借助HTTP和HTTP cookies,另一种是用SOAP headers.Axis能帮你实现这两种技术. 在Web service中没有一种管理session的标准方法,只有两种公认的技术,一种是依靠HTTP和HTTP cookies,另一种,或许也是最重要的一种方法,就是用SOAP headers.Axis能帮助开发人员实现这两种技术. 在Axis中缺省使用的是HTTP managed sessions.在一个服务器中

web services中关于服务器端连接access数据库的问题

问题描述 问大家个问题,我是用Tomcat,axis,eclispe来创建webservice的,具体过程是参照http://www.javaeye.com/topic/284387中所讲的步骤进行,在服务器端与access数据库进行连接.不过最后却得不到结果,也没报错.看了这个帖子http://topic.csdn.net/u/20081228/07/a8731f65-bc80-4da0-9fc2-682fc66a1a37.html有点犯迷糊,具体摘录如下:"--在做个基于Axis2的WebS

vs.net中web services入门

services|web services 入门摘要:Microsoft Visual Studio .NET 和 XML Web services 提供了一个简单.灵活且基于标准的模型,开发人员无论使用何种平台.编程语言或对象模型均可以编写组合应用程序.本文将帮助您快速学习使用 Visual Studio .NET 创建并访问 XML Web services.本文包含一些指向英文站点的链接. 目录简介 用托管代码编写的 XML Web services 使用 Visual Studio 创建

J2EE vs. Microsoft.NET 之 Web Services

j2ee|services|web J2EE vs. Microsoft.NET 之 Web Services             --建置XML架构的Web Services之比较作者:佚名    本文选自:CNJSP  2002年04月30日 I. 序 在本文中,我们将深入的比较两种可用来建置商业XML Web Services的平台,分别是Sun Microsystems 所提供的Java 2 Enterprise Edition (J2EE)以及Microsoft所提供的 .NET平

Java 与 .NET 的基于 WS-Security的Web Services集成实现(下)

services|web Java 与 .NET 的基于 WS-Security的Web Services集成实现(下) rottenapple 4. 打开Jbuilder9 ,新建一个java 类,命名为TestNetService.并将axis-wsse-1.0的jar包添加到Jbuilder的jdk中(Tools->configions jdks->class tab->add)代码如下: package MyWebServiceJavaClient; import java.ut

Web Services的魅力

services|web Web Services是当今最热门的企业级技术,越来越多的媒体热衷于谈论这个领域不断涌现的创新成果和各种联盟,已有的厂商纷纷宣布进入Web Services市场, 新兴的公司则从一开始就打起了实施Web Services的主意. 俗话说,无利不起早.Web Services之热也正源起于它的商业价值及其所蕴涵的商业利益.进一步讲,Web Services代表着Internet技术的重大发展,企业已经从 Internet技术中获得了种种利益,而Web Services将

艾伟:Web Services的魅力

Web Services是当今最热门的企业级技术,越来越多的媒体热衷于谈论这个领域不断涌现的创新成果和各种联盟,已有的厂商纷纷宣布进入Web Services市场, 新兴的公司则从一开始就打起了实施Web Services的主意. 俗话说,无利不起早.Web Services之热也正源起于它的商业价值及其所蕴涵的商业利益.进一步讲,Web Services代表着Internet技术的重大发展,企业已经从 Internet技术中获得了种种利益,而Web Services将使这种利益更大化.Gart

在NetBeans中运行Amazon Web Services

Amazon提供了一个富web服务接口来访问他们的在线内容.为了帮助您理解如何使用这 些Web服务.Amazon还提供了一个全面的示例应用来展示如何使用所有被暴露出的操作.通 过一步步的操作,本文向您展示如何在NetBeans IDE中修改.构建.运行以及调试mazon的 示例应用程序.进而让您了解所有NetBeans的优点,比如代码补全.代码链接以及集成的 Javadoc帮助.还有调试程序的功能,尽管是单步的但监控的变量能够让您深入了解Amazon web服务的运行机制. 配置环境 安装Jav

使用Integrated Web Services Client for ILE在ILE程序中调用Web Service 二

什么是Web Service客户端处理器 Web Service客户端处理器(Client Side Handler)是Integrated Web Services Client for ILE提供的一种客户端Web Service调用监听机制,当客户端Stub程序封装好请求SOAP消息准备发送,或者客户端Stub程序接收到响应SOAP消息准备处理时,可以通过客户端Handler机制进行消息监听以及修改SOAP Header信息,然后 Integrated Web Services Clien