從Web Services中訪問伺服器變數

來源:互聯網
上載者:User
services|web|變數|訪問|伺服器 在新聞群組中最經常被問到的問題就是“如何從一個web Services(Web服務)內部擷取客戶瀏覽器的IP地址?” 這個問題的答案非常簡單。system.web.services名稱空間內部的Context類代表了web服務的上下文。換句話說,它從一個正在啟動並執行web服務內部對不同的對象進行引用。比如Response(響應)、Request(請求)和Session對象,以及在服務上調試是否啟用之類的資訊。

本文我們用一個非常基本的例子來描述兩件事:

1、取得客戶瀏覽器的IP地址
2、取得所有的網頁伺服器變數

原始碼如下,很容易理解:

<%@ 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內容。
(轉)


相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。