当前位置:编程学习 > C#/ASP.NET >>

C# MVC中 获取访问地址。。。在线等~

我在C# MVC的网关中想获取访问这个网关方法的地址,
用过一下两种方法
1.System.Web.HttpContext.Current.Request.Url.ToString();
编译不报错,运行的时候提示“未将对象引用到对象的实例”
2.Request.ServerVariables["PATH_INFO"];
MVC中没有Requert这个类

在MVC中获取页面访问地址应该用什么方法啊?
求高手解答,在线等 --------------------编程问答-------------------- 关键你在哪里用上面的方法。Controller里可以的 --------------------编程问答-------------------- 试试 ViewContext.RouteData.Values["action"]  --------------------编程问答--------------------
引用 1 楼 fangxinggood 的回复:
关键你在哪里用上面的方法。Controller里可以的

在WCF网关中,当访问WCF网关中某一个方法的时候 我要获取它的连接 --------------------编程问答-------------------- web -> wcf ? 如果 wcf 不是 asp.net 兼容,不可能获取到 HttpContext 

--------------------编程问答--------------------
引用 4 楼 fangxinggood 的回复:
web -> wcf ? 如果 wcf 不是 asp.net 兼容,不可能获取到 HttpContext

不知道啊 我用
System.Web.HttpContext.Current.Request.ServerVariables["PATH_INFO"].ToString();
编译的时候也不报错,运行的时候就提示“未将对象引用到对象的实例” --------------------编程问答-------------------- 那到底是web 还是 wcf ? 服务又不一定是通过http通讯的 --------------------编程问答-------------------- WCF 如果作为 .svc 和 asp.net 在一个工程里,那么可以用。

如果是独立的 WCF 工程估计开启了 asp.net 兼容那么也可以用。

其他,就用不了了。

可以试试: System.ServiceModel.OperationContext.IncomingMessageHeaders.Action --------------------编程问答-------------------- --------------------编程问答--------------------
引用 7 楼 fangxinggood 的回复:
WCF 如果作为 .svc 和 asp.net 在一个工程里,那么可以用。

如果是独立的 WCF 工程估计开启了 asp.net 兼容那么也可以用。

其他,就用不了了。

可以试试: System.ServiceModel.OperationContext.IncomingMessageHeaders.Action

还是报错
System.ServiceModel.OperationContext.点不出IncomingMessageHeaders --------------------编程问答--------------------
引用 6 楼 karascanvas 的回复:
那到底是web 还是 wcf ? 服务又不一定是通过http通讯的

WCF ,我们公司是做移动手机游戏开发的,iphone 端调用WCF --------------------编程问答-------------------- 控制里面是可以用Request的,我一直用Request.Url.ToString()获取访问地址。 --------------------编程问答-------------------- 控制器里面是可以用Request的,我一直Request.Url.ToString()获取请求路径没问题呀 --------------------编程问答--------------------
引用 11 楼 dengdayang1988 的回复:
控制里面是可以用Request的,我一直用Request.Url.ToString()获取访问地址。

是啊 关键我现在的WCF里面 那个方法我试了 没法用 --------------------编程问答--------------------
引用 13 楼 lv9942 的回复:
引用 11 楼 dengdayang1988 的回复:
控制里面是可以用Request的,我一直用Request.Url.ToString()获取访问地址。

是啊 关键我现在的WCF里面 那个方法我试了 没法用


Request报错吗? --------------------编程问答-------------------- 添加引用
using System.Web;

使用
HttpContext.Current.Request.Url.ToString();

我用的这个是没问题的,你那个报错确定是这句话报的错? --------------------编程问答-------------------- System.Web.Mvc命名空间下面也有一个Request,引入System.Web.Mvc就行 --------------------编程问答-------------------- 不用加HttpContext.Current --------------------编程问答-------------------- System.ServiceModel.OperationContext.Current.IncomingMessageHeaders --------------------编程问答--------------------
引用 16 楼 dengdayang1988 的回复:
System.Web.Mvc命名空间下面也有一个Request,引入System.Web.Mvc就行

。。。。没有 我测试了 --------------------编程问答--------------------
引用 18 楼 fangxinggood 的回复:
System.ServiceModel.OperationContext.Current.IncomingMessageHeaders

什么意思?这编译的时候就报错 --------------------编程问答-------------------- 具体再描述下wcf定义,用的是IIS Host吗?我回去试试

还有你要取得什么? 发起请求的页面?
比如:HomeController.Index() 里调用 Wcf 某个方法,在WCF里想取得 Home/Index ? <-- 这个不可能取得


补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,