“响应”不包含“重定向”的定义

时间:2019-07-18 16:37:46

标签: c# .net saml system.web

我正在尝试使用AspNetSaml nuget包(https://github.com/jitbit/AspNetSaml),并且在尝试使用Response.Redirect(url)方法时遇到错误。

这是错误:

  

错误CS0117'响应'不包含'重定向'的定义

我已经在使用命名空间System.Web,并且还添加了System.Web.dll

static void Redir(Response samlResponse)
{
    //specify the SAML provider url here, aka "Endpoint"
    var samlEndpoint = "https://saml.xxxx.com/idp/SSO.saml2";

    AuthRequest request = new AuthRequest(
        "https://www.xxxx.com/", //put your app's "unique ID" here
        "https://www.xxxx.com/" //assertion Consumer Url - the redirect URL where the provider will send authenticated users
        );

    // Generate the provider URL
    string url = request.GetRedirectUrl(samlEndpoint);

    Response.Redirect(url);
}

2 个答案:

答案 0 :(得分:0)

似乎您正在尝试从静态方法访问Page的HttpResponse对象。将您的方法设为非静态:

void Redir(Response samlResponse)
{
    ...
    this.Response.Redirect(url);
}

答案 1 :(得分:0)

您可以替换函数调用

Redire(this.Response)

作者

Response.Redirect(Redire())

使用Redire函数返回要重定向到的URL。这样,您就可以摆脱在此处造成问题的静态上下文。