gpt4 book ai didi

c# - 使用 ASP.NET MVC 从帮助程序调用 User.Identity.GetUserId()

转载 作者:行者123 更新时间:2023-11-30 13:55:27 24 4
gpt4 key购买 nike

我是 ASP.NET MVC 的新手,

我将一个 HTTP POST 方法从我的 Controller 移到了 Helpers,我无法从 System.Security.Principal.IIdentity 调用 User.Identity.GetUserId()图书馆。

为什么我不能使用助手提供的这个库?谢谢

最佳答案

您使用 User.Identity.GetUserId() 从 Controller 中获取的 User 对象的类型为 HttpContext.User

您可以使用 System.Web 中的 HttpContext.Current 获取当前的 HttpContext

您还需要扩展方法的 using 语句。

using Microsoft.AspNet.Identity;
using System.Web;

public class MyClass()
{
public void MyMethod()
{
// Get the current context
var httpContext = HttpContext.Current;

// Get the user id
var userId = httpContext.User.Identity.GetUserId();
}
}

如果您在辅助方法中检索该值,我个人建议将该值作为参数从您的 Controller 传入,因为它更清楚地表明它依赖于它?

如果将辅助方法移动到服务层等,则需要从 Controller 获取此值并将其作为参数传递。

关于c# - 使用 ASP.NET MVC 从帮助程序调用 User.Identity.GetUserId(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34588964/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com