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. ios-Objective-C中的各种遍历(迭代)方式(转载)

    iOS开发实用技巧—Objective-C中的各种遍历(迭代)方式 说明: 1)该文简短介绍在iOS开发中遍历字典.数组和集合的几种常见方式. 2)该文对应的代码可以在下面的地址获得:https:// ...

  2. 数据挖掘领域十大经典算法之—C4.5算法(超详细附代码)

    https://blog.csdn.net/fuqiuai/article/details/79456971 相关文章: 数据挖掘领域十大经典算法之—K-Means算法(超详细附代码)        ...

  3. sql中把字符串转化为数字的方法

    1. convert(int,字段名) 2. cast(字段名 as int)

  4. SQL SERVER - 谁更改了SQL登录密码?

    转自:https://blog.sqlauthority.com/2016/04/03/sql-server-changed-password-sql-login-interview-question ...

  5. Android中 Application的使用

    Application全局唯一,如果需要放置全局的变量,需要用到Application,类似于OC中的单例类,获者OC中的AppDelegate 第一步:创建一个AppContext继承Applica ...

  6. 3.cassandra遇到内存占用过高的问题

    目前cssandra的内存分配如下: https://docs.datastax.com/en/cassandra/2.1/cassandra/operations/ops_tune_jvm_c.ht ...

  7. [LeetCode] questions conclustion_BFS, DFS

    BFS, DFS 的题目总结. Directed graph: Directed Graph Loop detection and if not have, path to print all pat ...

  8. android studio 错误: 编码GBK的不可映射字符

    在模块的build.gradle中加入: tasks.withType(JavaCompile) { options.encoding = "UTF-8" } JavaCompil ...

  9. 7.9 Models -- Connection to An HTTP Server

    一.概述 1. 如果你的Ember应用程序需要从一个HTTP服务器加载JSON数据,在你的服务器返回的任何格式中,配置Ember Data的过程将会加载records. 2. store使用一个被称为 ...

  10. unp第七章补充之TCP半开连接与半闭连接

    半打开(Half-Open)连接和半关闭(Half-Close)连接.TCP是一个全双工(Full-Duplex)协议,因此这里的半连接"半"字就是相对于全双工的"全&q ...