gpt4 book ai didi

c# - HttpContext.Current.User.Identity.Name 使用 IIS Express 但不是 Visual Studio Development Server 为空

转载 作者:IT王子 更新时间:2023-10-29 04:31:29 26 4
gpt4 key购买 nike

<分区>

HttpContext.Current.User.Identity.Name 在 Visual Studio 设置为“使用本地 IIS Web 服务器”时为空,但在 Visual Studio 设置为“使用 Visual Studio 开发”时正常工作服务器”。

希望您可以通过执行以下操作在 Visual Studio 2010 或 2012(我都尝试过)中重现此问题:

创建一个新的“ASP.NET 空 Web 应用程序”并选择“.NET Framework 4”并将其命名为“WindowsAuthTest2”。将 Web.config 的内容替换为

<?xml version="1.0"?>
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.0" />
<authentication mode="Windows">
</authentication>
</system.web>
</configuration>

接下来向名为“Default.aspx”的项目添加一个新的“Web 窗体”。将 Default.aspx 中的代码替换为

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WindowsAuthTest2.Default" %>

<html>
<head>
<title></title>
</head>
<body>
<asp:Label ID="Label1" runat="server"></asp:Label>
</body>
</html>

并将Default.aspx.cs中的代码替换为

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace WindowsAuthTest2
{
public partial class Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Label1.Text = "[" + HttpContext.Current.User.Identity.Name + "]";
}
}
}

我没有 ReSharper 告诉我哪些 using 语句是不必要的。

然后您可以选择 Visual Studio 将使用的 Web 服务器,方法是右键单击项目,选择“属性”(或双击项目下的“属性”),选择“Web”,然后导航到“服务器”部分。

尝试使用“使用 Visual Studio 开发服务器”和“使用本地 IIS Web 服务器”。

希望您能帮我弄清楚为什么在选择“使用本地 IIS Web 服务器”时 HttpContext.Current.User.Identity.Name 为空。

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