`
netxdiy
  • 浏览: 679555 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

web程序中获取应用程序系统变量的方法( For.net 1.1)

 
阅读更多

获取系统变量在.net 的web应用程序中的确是非常方便,比如获取 "http://ap2:8080/"或者"http://10.0.0.1/mypplication/"等诸如此类的系统变量。
注:本文主要是针对.net Framework 1.0、1.1的情况,因为.net 2.0的命名空间已经发生了很大的变化,在后面的文章中将会专门加以介绍

为描述方便,先新建一aspx文件,前台文件如下:

< body MS_POSITIONING ="GridLayout" >
< form id ="Form2" method ="post" runat ="server" >
< FONT face ="宋体" >
< asp:Button id ="btn_Page" style ="Z-INDEX:101;LEFT:8px;POSITION:absolute;TOP:16px" runat ="server"
Text
="通过Page获取" ></ asp:Button >
< asp:Label id ="lbInfo1" style ="Z-INDEX:102;LEFT:48px;POSITION:absolute;TOP:56px" runat ="server" ></ asp:Label >
< asp:Button id ="btn_ServerVal" style ="Z-INDEX:103;LEFT:520px;POSITION:absolute;TOP:16px"
runat
="server" Text ="通过ServerVariables获取" ></ asp:Button >
< asp:Label id ="lbInfo2" style ="Z-INDEX:104;LEFT:48px;POSITION:absolute;TOP:80px" runat ="server" ></ asp:Label >
< asp:Label id ="lbInfo3" style ="Z-INDEX:105;LEFT:48px;POSITION:absolute;TOP:104px" runat ="server" ></ asp:Label >
< asp:Button id ="btn_Cintext" style ="Z-INDEX:106;LEFT:280px;POSITION:absolute;TOP:16px"
runat
="server" Text ="通过Context获取" ></ asp:Button ></ FONT >
</ form >
</ body >




第一种方法,直接在在页面中获取。利用Page.Request命名空间。

private void btn_Page_Click( object sender,System.EventArgse)
... {
this .lbInfo2.Text = "" ;
this .lbInfo3.Text = "" ;
this .lbInfo1.Text = Page.Request.ApplicationPath + " <br/> "
+ Page.Request.CurrentExecutionFilePath + " <br/> "
+ Page.Request.UserHostAddress + " <br/> "
+ Page.Request.Url.Host + " <br/> "
+ Page.Request.RawUrl + " <br/> "
+ Page.Request.UserHostName + " <br/> "
+ Page.Request.Url.HostNameType + " <br/> "
+ Page.Request.Url.Port + " <br/> "
+ Page.Request.UrlReferrer.Host + " <br/> "
+ Page.Request.Url.LocalPath + " <br/> "
+ Page.Request.Url.Authority + " <br/> "
+ Page.Request.Url.UserInfo + " <br/> "
+ " <br/> " ;

}


第二种方法:在非Web项目中用Context的Request方法。

private void btn_Cintext_Click( object sender,System.EventArgse)
... {
this .lbInfo1.Text = "" ;
this .lbInfo3.Text = "" ;
this .lbInfo2.Text =
System.Web.HttpContext.Current.Server.MachineName
+ " <br/> "
+ System.Web.HttpContext.Current.Request.ApplicationPath + " <br/> "
+ System.Web.HttpContext.Current.Request.CurrentExecutionFilePath + " <br/> "
+ System.Web.HttpContext.Current.Request.RawUrl + " <br/> "
+ System.Web.HttpContext.Current.Request.Url + " <br/> "
+ System.Web.HttpContext.Current.Request.UserHostAddress + " <br/> "
+ System.Web.HttpContext.Current.Request.UserHostName + " <br/> "
+ System.Web.HttpContext.Current.Request.RequestType + " <br/> "
+ System.Web.HttpContext.Current.Request.UrlReferrer.Host + " <br/> "
+ System.Web.HttpContext.Current.Request.UrlReferrer.HostNameType + " <br/> "
+ System.Web.HttpContext.Current.Request.Path + " <br/> "
+ System.Web.HttpContext.Current.Request.Url.Port + " <br/> "
+ System.Web.HttpContext.Current.Request.Url.IsDefaultPort.ToString() + " <br/> "
+ System.Web.HttpContext.Current.Request.Url.IsFile.ToString() + " <br/> "
+ System.Web.HttpContext.Current.Request.Url.LocalPath + " <br/> "
+ " <br/> " ;

}



第三种方法:可以从Request.ServerVariables的集合中获取 。获取的变量也最全。

private void btn_ServerVal_Click( object sender,System.EventArgse)
... {

this .lbInfo1.Text = "" ;
this .lbInfo2.Text = "" ;
int loop1,loop2;
System.Collections.Specialized.NameValueCollectioncoll;

// 以下两种方式均可
// coll=Page.Request.ServerVariables;
coll = System.Web.HttpContext.Current.Request.ServerVariables;
this .lbInfo3.Text = "" ;
// Getnamesofallkeysintoastringarray.
String[]arr1 = coll.AllKeys;
for (loop1 = 0 ;loop1 < arr1.Length;loop1 ++ )
... {
this .lbInfo3.Text += ( " Key: " + arr1[loop1] + " <br> " );
String[]arr2
= coll.GetValues(arr1[loop1]);
for (loop2 = 0 ;loop2 < arr2.Length;loop2 ++ )
... {
this .lbInfo3.Text += ( " Value " + loop2 + " : " + Server.HtmlEncode(arr2[loop2]) + " <br> " );
}

}

}

亦可用于 Web service

注意,以上方法获取IP未必真实。

分享到:
评论

相关推荐

    ASP.NET应用开发案例教程

    8.3 ASP.NET应用程序中的用户状态管理 8.3.1 Global.asax文件概述 8.3.2 Application对象事件 8.3.3 Session对象事件 8.3.4 其他几种客户端的用户状态管理方法 8.3.5 本小节提示 8.4 ASP....

    Visual.Basic.NET程序设计案例教程

    1.1 .NET框架简介 1.2 Visual Basic.NET的发展和特点 1.2.1 VB.NET的发展 1.2.2 VB.NET的特点 1.3 Visual Basic.NET的安装与启动 1.3.1 Visual Studi0.NET 2005的安装 1.3.2 VB.NET 2005的启动 1.4 VS.NET的集成开发...

    asp.net知识库

    如何在Asp.Net1.1中实现页面模板(所谓的MasterPage技术) Tool Tip 示例(FILTER版) Tool Tip示例 (htc版) 一个.net发送HTTP数据实体的类 按键跳转以及按Enter以不同参数提交,及其他感应事件 动态控制Page页的...

    ASP.NET4高级程序设计(第4版) 3/3

    1.2.1 ASP.NET1.0和ASP.NET1.1 9 1.2.2 ASP.NET2.0 9 1.2.3 ASP.NET3.5 10 1.2.4 ASP.NET4 12 1.2.5 Silverlight 14 1.3 总结 15 第2章 Visual Studio 16 2.1 Visual Studio 16 2.1.1 网站和Web...

    ASP.NET应用与开发案例教程

    8.3ASP.NET应用程序中的用户状态管理 8.3.1Global.asax文件概述 8.3.2Application对象事件 8.3.3Session对象事件 8.3.4其他几种客户端的用户状态管理方法 8.3.5本小节提示 8.4ASP.NETHTFP运行情况 8.4.1HTYP运行‘晴...

    spring.net中文手册在线版

    Spring.NET是一个应用程序框架,其目的是协助开发人员创建企业级的.NET应用程序。它提供了很多方面的功能,比如依赖注入、面向方面编程(AOP)、数据访问抽象及ASP.NET扩展等等。Spring.NET以Java版的Spring框架为...

    ASP.NET4高级程序设计第4版 带目录PDF 分卷压缩包 part1

    1.2.1 ASP.NET1.0和ASP.NET1.1 1.2.2 ASP.NET2.0 1.2.3 ASP.NET3.5 1.2.4 ASP.NET4 1.2.5 Silverlight 1.3 总结 第2章 Visual Studio 2.1 Visual Studio 2.1.1 网站和Web项目 2.1.2 创建无项目...

    ASP.NET教学讲义,完整章节

    1.2.3 ASP.NET应用程序示例 23 第二章:WEB服务器控件 26 2.1 WEB 服务器控件的格式 26 2.2 服务器控件的类型 27 2.3 用服务器控件建立页面 27 2.4 控件的常见属性 29 2.5 控件的种类 31 第三章:HTML控件和验证控件...

    亮剑.NET深入体验与实战精要2

    8.2.2 创建ASP.NET Ajax应用程序 333 8.2.3 ScriptManager控件使用技巧 335 8.2.4 UpdaetPanel控件使用技巧 336 8.2.5 AsyncPostBackTrigger实现 外部控件引发局部刷新 338 8.2.6 Ajax错误处理 341 8.2.7 告诉用户...

    asp.net教学讲义

    1.2.2 ASP.NET应用程序的创建方法 9 1.2.3 Web窗体的特点 10 1.2.4 Web 窗体的功能 10 1.2.5 WEB窗体工作原理 11 1.3 ASP.NET 页的结构 12 1.3.1 @Page指令 13 1.3.2 ASP.NET的服务器端脚本 14 1.3.3 服务器端脚本...

    亮剑.NET深入体验与实战精要3

    8.2.2 创建ASP.NET Ajax应用程序 333 8.2.3 ScriptManager控件使用技巧 335 8.2.4 UpdaetPanel控件使用技巧 336 8.2.5 AsyncPostBackTrigger实现 外部控件引发局部刷新 338 8.2.6 Ajax错误处理 341 8.2.7 告诉用户...

    ASP.NET信息管理系统开发实例导航1

    ASP.NET信息管理系统开发实例导航 目录:第1章 教务实验课选课系统 1 1.1 数据库的设计 2 1.1.1 逻辑设计 2 1.1.2 物理结构设计 2 1.1.3 数据库角色分配 5 1.1.4 具体实现 6 1.2 系统功能的设计 11 ...

    asp.net程序开发范例宝典

    第1章 搭建ASP.NET开发环境 1 1.1 环境配置 2 实例001 安装与配置IIS 2 实例002 配置ASP.NET应用程序开发环境 5 1.2 Web.Config文件配置 8 实例003 配置Access数据库连接 8 实例004 ...

    Visual.Basic.2010.&.NET4.高级编程(第6版)-文字版.pdf

    4.1 .net应用程序的组成元素 214 4.1.1 模块 214 4.1.2 程序集 215 4.1.3 类型 215 4.2 版本化与部署 216 4.2.1 对版本化更好的支持 216 4.2.2 major.minor.build.revision版本介绍 217 4.2.3 更好的...

    ASP.NET 3.5 开发大全

    4.1.5 ASP.NET网站和ASP.NET应用程序的区别 4.2 代码隐藏页模型的解释过程 4.3 代码隐藏页模型的事件驱动处理 4.4 ASP.NET客户端状态 4.4.1 视图状态 4.4.2 控件状态 4.4.3 隐藏域 4.4.4 Cookie 4.4.5 客户端状态...

    ASP.NET信息管理系统开发实例导航3

    ASP.NET信息管理系统开发实例导航 目录:第1章 教务实验课选课系统 1 1.1 数据库的设计 2 1.1.1 逻辑设计 2 1.1.2 物理结构设计 2 1.1.3 数据库角色分配 5 1.1.4 具体实现 6 1.2 系统功能的设计 11 ...

    ASP.NET3.5从入门到精通

    4.1.5 ASP.NET 网站和ASP.NET 应用程序的区别 4.2 代码隐藏页模型的解释过程 4.3 代码隐藏页模型的事件驱动处理 4.4 ASP.NET 客户端状态 4.4.1 视图状态 4.4.2 控件状态 4.4.3 隐藏域 4.4.4 Cookie 4.4.5 客户端状态...

Global site tag (gtag.js) - Google Analytics