using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

/// <summary>
/// 页面请求Hepler
/// </summary>
public class HttpHelper
{
/// <summary>
/// 获得全路径
/// </summary>
/// <param name="strVirtualPath"></param>
/// <returns></returns>
public static string GetFullUrlPath(object virtualPath)
{
if (virtualPath == null)
{
return string.Empty;
}
string strVirtualPath = virtualPath.ToString();
if (string.IsNullOrEmpty(strVirtualPath))
{
return string.Empty;
}
if (strVirtualPath.Contains("javascript:"))
{
return strVirtualPath;
}
//如果是外部链接
if (strVirtualPath.Length > 7 && strVirtualPath.Substring(0, 7).ToUpper().Equals("HTTP://"))
{
return strVirtualPath;
}
if (strVirtualPath.Length > 2 && strVirtualPath[0] == '~' && strVirtualPath[1] == '/')
{
strVirtualPath = strVirtualPath.Remove(0, 2);
}
if (strVirtualPath.Length > 1 && strVirtualPath[0] == '/')
{
strVirtualPath = strVirtualPath.Remove(0, 1);
}
string webPath = HttpContext.Current.Request.ApplicationPath;
if (webPath != "/")
{
return string.Format("{0}/{1}", webPath, strVirtualPath);
}
else
{
return string.Format("{0}{1}", webPath, strVirtualPath);
}

}

/// <summary>
/// 获取网站URL
/// </summary>
/// <param name="url"></param>
/// <returns></returns>
public static string GetRequestWebUrl()
{
HttpRequest request = HttpContext.Current.Request;
string urlAuthority = request.Url.GetLeftPart(UriPartial.Authority);
if (request.ApplicationPath == null || request.ApplicationPath == "/")
{
//当前部署在Web站点下
return urlAuthority;
}
else
{
//当前部署在虚拟目录下
return urlAuthority + request.ApplicationPath;
}
}
}

C# 获取当前IIS请求地址的更多相关文章

  1. tomcat server获取用户的请求地址

    当用户 与 tomcat之间 用 nginx做跳转时, HttpServletRequest 中的 getRemoteHost()方法获取到的只是nginx的地址,而不能拿到用户真正的请求地址 解决方 ...

  2. Asp.Net Core获取请求信息/获取请求地址

     一.Asp.Net Core 2.0版本中目前HttpRequest是个抽象类 在控制器或视图上下文中获取到的 Request对象,是 DefaultHttpRequest的实例. 定义 如图 : ...

  3. java nginx等代理或网关转发请求后获取客户端的ip地址,原理

    在没有网关或者反向代理软件情况下,java里获取客户端ip地址的方法是request.getRemoteAddr() 先解释下http协议和TCP协议: 网页默认是进行http连接了,http协议即超 ...

  4. 获取客户端的请求IP地址

    获取客户端的请求IP地址 package com.microClass.util; import javax.servlet.http.HttpServletRequest; import java. ...

  5. Java获取项目当前请求的全部URL,Java获取Referer,Java获取完整链接地址URL

    Java获取项目当前请求的全部URL,Java获取Referer,Java获取完整链接地址URL >>>>>>>>>>>>> ...

  6. [技巧篇]11.JavaScript原生态如何获取浏览器请求地址中的参数

    var getAccessParams = function(){ var i,ilen,strs,keyName,keyValue, params={}, path = window.locatio ...

  7. springMVC get请求及其请求地址写法

    今天,需要写一个接口,写完之后,测试的时候发线一直报404错误,不知道为什么报错.应该是get请求地址的问题,get请求有两个参数,改为一个参数的时候是好用的,可能那种方式不适合写两个参数的get请求 ...

  8. IIS应用地址池监控

    目的:公司服务器IIS有十几个应用地址池,总在不经意间停掉一个,停止线系统日志里会有一大堆警告日志,然后就停掉了,分析了好几次,网上有人说是某一个网站的问题应该查网站, 但是网站又有那么多地址,谁知道 ...

  9. Java 获取Linux 的IP地址

    import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import ...

随机推荐

  1. GraphLab GraphLab和MapReduce的区别

    https://turi.com/ GraphLab和MapReduce的区别 https://baike.baidu.com/item/GraphLab/16423125 2. GraphLab和M ...

  2. Looper分析。ThreadLocal有关

    Class used to run a message loop for a thread. Threads by default do not have a message loop associa ...

  3. [LeetCode] 589. N-ary Tree Preorder Traversal_Easy

    Given an n-ary tree, return the preorder traversal of its nodes' values. For example, given a 3-ary  ...

  4. [LeetCode] 787. Cheapest Flights Within K Stops_Medium tag: Dynamic Programming, BFS, Heap

    There are n cities connected by m flights. Each fight starts from city u and arrives at v with a pri ...

  5. vs2010用NuGet(程序包管理)安装EF失败之解决办法

    今天用程序包管理控制台安装EF.报错.如下

  6. 软件包管理:源码包管理-源码包与RPM包的区别

    RPM会安装在默认位置,源码包会安装在指定位置. 绝大多数ROM包遵循此规范.写软件包是就固定好了. 主要影响体现在对服务的管理方法,服务的管理分三种:启动,重启动,停止. 启动时使用绝对路径来启动. ...

  7. 【C语言】指向一维数组元素的指针

    本文目录 一.用指针指向一维数组的元素 二.用指针遍历数组元素 三.指针与数组的总结 四.数组.指针与函数参数 前面我们已经学习了指针,如果指针存储了某个变量的地址,我们就可以说指针指向这个变量.数组 ...

  8. thinkphp 隐藏表单验证原理

    function savetoken() //创建session('hash') ,然后在魔板中表单中加入隐藏域 getsession('hash'),提交表单验证值是否一样,如果一样验证通过,同时重 ...

  9. [How to] ROOT, Backup & Flash (MTKDroidTools, Spflashtool, CWM)

    这是一篇来自xda论坛的文章,写得很详细,很有用,以下是原文: Hi This is a guide to ROOT, backup and flash your MTK65xx or Other d ...

  10. 下载mysql的源码包