gpt4 book ai didi

c# - HttpContext 仅在 IIS 7 中导致对象引用错误

转载 作者:行者123 更新时间:2023-11-30 18:09:59 25 4
gpt4 key购买 nike

我最近在与实际网站相同的服务器上设置了我的个人网站的新实例。新实例是“最新”配置,因此它具有我正在处理的最新版本的所有新功能。最新版本我已经将目标框架从 2.0 切换到 3.5,这是编译项目进行时唯一真正重大的变化。

在所有成员页面和一些其他页面以及一些用户控件上,我调用了这两个项目中的一个或两个,并且每个都失败并导致对象引用未设置为对象的实例,错误。但不是在每一页上!

    public static string CurrentUserName
{
get
{
string userName = "";
if (HttpContext.Current.User.Identity.IsAuthenticated)
userName = HttpContext.Current.User.Identity.Name;
return userName;
}
}

public static string CurrentUserID
{
get
{
string userID = "";
if (HttpContext.Current.User.Identity.IsAuthenticated) //Line 39
{
MembershipUser user = Membership.GetUser();
userID = user.ProviderUserKey.ToString();
}
return userID;
}
}

堆栈跟踪是:

[NullReferenceException: Object reference not set to an instance of an object.]
isClasses.BizObjects.get_CurrentUserID() in C:\My Dropbox\Trunk\Classes\BizObjects.cs:39
TheImageStore_Profile..ctor() in w:\dev\Member\Profile.aspx.cs:9
ASP.member_profile_aspx..ctor() in c:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\faba6118\7249af47\App_Web_profile.aspx.48943a5b.w8t4pvz5.0.cs:0
__ASP.FastObjectFactory_app_web_profile_aspx_48943a5b_w8t4pvz5.Create_ASP_member_profile_aspx() in c:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\faba6118\7249af47\App_Web_profile.aspx.48943a5b.w8t4pvz5.2.cs:0
System.Web.Compilation.BuildResultCompiledType.CreateInstance() +32
System.Web.Compilation.BuildManager.CreateInstanceFromVirtualPath(VirtualPath virtualPath, Type requiredBaseType, HttpContext context, Boolean allowCrossApp, Boolean noAssert) +119
System.Web.UI.PageHandlerFactory.GetHandlerHelper(HttpContext context, String requestType, VirtualPath virtualPath, String physicalPath) +33
System.Web.UI.PageHandlerFactory.GetHandler(HttpContext context, String requestType, String virtualPath, String path) +37
System.Web.MaterializeHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +307
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +155

但请注意,这只发生在 Server 2008 上的 IIS 7 中,该网站在 Visual Studio 2008 中运行完美。我什至将 IIS 中的主要网站附加到此目录,它做同样的事情。这怎么可能发生,可能是什么原因?

只是为了好玩,我将 Target Framework 改回 2.0,它仍然导致同样的问题。此外,无论访问者是否登录,这似乎都在发生,而不仅仅是在成员(member)页面上。

最佳答案

HttpContext.Current.Useruser.ProviderUserKeynull

我猜是前者。第 39 行是哪一行?

另外,是否有用户登录?

关于c# - HttpContext 仅在 IIS 7 中导致对象引用错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2037347/

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