2012-06-02 33 views
3

打电话的网址的网址我正在尝试获取当前网站的路径,并且正在为此获取网址。获取我们从

Uri uri = HttpContext.Current.Request.Url; 
string callbackUrl = uri.Scheme + "://" + uri.Host + (uri.IsDefaultPort ? "" : ":" + uri.Port) + "/Work"; 

它可以在开发服务器上正常工作,但在生产中不能用于https网站。

uri.Scheme给了我http。我在这里做错了什么。有没有一种方式,当从https站点调用此代码时,uri.Scheme返回https而不是http。

感谢

回答

1

IIS做一些过滤,影响Request.Url HTTPS请求。结束了一些谷歌搜索,似乎有一些限制。您可能必须根据this博客文章提出自定义解决方案。

+0

感谢您的链接Nadir。我现在在几个项目中有这个代码,其中一些不是mvc。有没有办法知道我是否在一个安全的https站点或不安全的http – gurrawar

+0

您是否尝试了Request.IsSecureConnection? –

+0

刚刚尝试过,但Request.IsSecureConnection在生产中返回false,即https站点。 – gurrawar

相关问题