'HttpContext'在c# .net框架4.5中不包含对'GetOwinContext'的定义。

8 浏览
0 Comments

'HttpContext'在c# .net框架4.5中不包含对'GetOwinContext'的定义。

你好,我正在尝试添加OpenID Connect,并在应用程序中运行此代码:

protected void btnLoginopenID_Click(object sender, EventArgs e)
{
    try
    {
        if (!Request.IsAuthenticated)
        {
            //Response.Redirect("~/AccessDenied2.aspx", false);
            HttpContext.Current.GetOwinContext().Authentication.Challenge();
        }
    }
    catch (Exception exception)
    {
    }
}

但是在运行代码时,我收到以下错误信息:

CS1061 'HttpContext'不包含名为'GetOwinContext'的定义,且没有扩展方法'GetOwinContext'接受类型为'HttpContext'的第一个参数

我尝试过执行以下操作,但没有成功:

Install-Package Microsoft.Owin.Host.SystemWeb

请问有没有什么建议来解决这个问题?如果你知道如何将OpenID Connect集成到C# .net Framework 4.5的WebForm.aspx中,请告诉我。

0
0 Comments

问题原因:缺少Microsoft.Owin.Host.SystemWeb包。

解决方法:安装Microsoft.Owin.Host.SystemWeb包。

在C# .NET Framework 4.5中,当使用HttpContext对象时,可能会遇到错误信息"'HttpContext' does not contain a definition for 'GetOwinContext'"。这通常是因为缺少Microsoft.Owin.Host.SystemWeb包引起的。要解决这个问题,我们需要安装这个包。

以下是解决方法的步骤:

1. 打开Visual Studio项目。

2. 在解决方案资源管理器中,找到项目引用。

3. 右键单击项目引用,选择“管理NuGet程序包”。

4. 在NuGet包管理器中,搜索Microsoft.Owin.Host.SystemWeb。

5. 找到该包后,点击“安装”按钮进行安装。

6. 等待安装完成后,重新编译项目。

通过按照以上步骤安装Microsoft.Owin.Host.SystemWeb包,我们就可以解决"'HttpContext' does not contain a definition for 'GetOwinContext'"的问题了。

希望本文对解决类似问题有所帮助!

0