Asp.net Extend Request.IsSecureConnection属性

Asp.net Extend Request.IsSecureConnection属性,asp.net,vb.net,Asp.net,Vb.net,实际上,我不确定这在VB.NET中是否可行,但我正在尝试扩展内置属性Request.IsSecureConnection 我在反向代理上使用SSL卸载,因此所有命中节点的连接对于请求总是返回false。IsSecureConnection。我自己的扩展将首先检查HTTP\u X\u FORWARDED\u PROTO,如果报头不存在,则返回到标准方法 这是我到目前为止所做的,但是当我在这里设置断点时,这个块永远不会被击中。我确信有一个很好的理由。。只是不确定原因是什么 Module Extens

实际上,我不确定这在VB.NET中是否可行,但我正在尝试扩展内置属性
Request.IsSecureConnection

我在反向代理上使用SSL卸载,因此所有命中节点的连接对于
请求总是返回false。IsSecureConnection
。我自己的扩展将首先检查
HTTP\u X\u FORWARDED\u PROTO
,如果报头不存在,则返回到标准方法

这是我到目前为止所做的,但是当我在这里设置断点时,这个块永远不会被击中。我确信有一个很好的理由。。只是不确定原因是什么

Module Extensions

    <Extension()>
    Public Function IsSecureConnection(Request As HttpRequestBase) As Boolean
        If HttpContext.Current.Request("HTTP_X_FORWARDED_PROTO") <> "" Then
            Dim https As String = HttpContext.Current.Request("HTTP_X_FORWARDED_PROTO")
            If https.ToLower = "on" Then
                Return True
            Else
                Return False
            End If
        Else
            Return Request.IsSecureConnection '<< Not sure here how I would reference the .net framework class without looping back into this function?
        End If
    End Function

End Module
模块扩展
公共函数IsSecureConnection(请求为HttpRequestBase)为布尔值
如果HttpContext.Current.Request(“HTTP_X_FORWARDED_PROTO”)”,则
Dim https As String=HttpContext.Current.Request(“HTTP\u X\u FORWARDED\u PROTO”)
如果https.ToLower=“on”,则
返回真值
其他的
返回错误
如果结束
其他的
Return Request.issecurereconnection'MSDN说:

如果扩展方法具有相同的签名,则永远不会调用它 作为类型中定义的方法


因此,我怀疑您无法使用扩展方法实现您想要的功能。

是的,我也找到了这个,谢谢。我想我需要使用另一个图书馆。