科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网网络频道从Web Services中访问服务器变量

从Web Services中访问服务器变量

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

新闻组中最经常被问到的问题就是“如何从一个web Services(Web服务)内部获取客户浏览器的IP地址?” 这个问题的答案非常简单。

作者:巧巧读书 来源:巧巧读书 2008年6月23日

关键字: 网吧 网吧组网 网吧服务器架设

  • 评论
  • 分享微博
  • 分享邮件

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

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章