问题标签 [applicationpoolidentity]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
555 浏览

asp.net-mvc - IIS 应用程序池重置 - 站点性能影响

我们在 IIS 中托管的应用程序中存在以下问题。

当并发用户点击数增加到 100时,我们的网站性能将急剧下降。(我们的应用程序托管在 IIS 8.5 版中)

服务器 - Windows 服务器 2008

IIS - 8.5

应用程序 - ASP.NET MVC/Angular

数据库 - SQL 服务器 2016

但是当我们重新启动运行应用程序的应用程序池时,速度会恢复。当应用程序性能下降时,观察到以下属性,它们看起来很正常。

1) CPU 使用率 - 峰值负载达到时最大值为 70%。

2) 内存使用 - 服务器内存使用不超过 40%

3)检查数据库中是否有死锁,看起来正常

4) 使用“使用语句”验证代码和连接是否正确处理

请让我知道当负载增加时究竟是什么导致缓慢以及为什么它在重新启动应用程序池时得到解决。

我知道对于这种情况,我无法提供代码示例,需要专家的即时指导。如果您需要更多详细信息以提供帮助,请告诉我。

谢谢!!!

0 投票
1 回答
708 浏览

asp.net - 为什么我的 ASP.NET 应用程序以域用户身份运行,在出现 Active Directory 问题后需要重新启动才能使用 PrincipalContext?

我有一个 ASP.NET 4.5 应用程序,它在具有特定域用户名和密码的应用程序池中运行。几个月来一直运行良好。几天前,有一个 Active Directory 问题,我仍然不知道其详细信息,但我的应用程序用户在问题发生时报告说他们无法使用该应用程序。

AD 问题最终得到了“解决”,但用户仍然无法使用该应用程序——直到我回收了应用程序池。

在回收之前,我遇到了这个第一次机会异常:

回收后,我不再看到此异常。

异常本身是由调用生成的PrincipalContext.FindByIdentity,直到我回收了应用程序池。

PrincipalContext如果应用程序池凭据没有更改,为什么应用程序池回收会改变行为?

0 投票
0 回答
231 浏览

asp.net - 为什么我仍然不能让 IIS ApplicationPoolIdentity 将文件写入文件夹?

我的 ASP-Webpages 应用程序需要将自己生成的文件写入其根目录下的本地文件夹。一切都像魅力一样在我的开发环境中运行,甚至到任何其他给定的网络位置。问题是我无法让生产环境做同样的事情。只是没有文件被创建,任何地方。也不会因缺少权限等引发任何异常。 Nada。

我相信我已经阅读并尝试了过去七年来任何人在 Internet 上写的所有内容,我觉得我正在努力解决这个问题。真的应该那么难吗?冒着被标记为重复的风险,除了在这里发布我的问题外,我没有其他选择。

基本上,这是我到目前为止所拥有的:

生产应用程序在 Windows Server 2008 R2、IIS 7.5 版上运行。它有一个专用的应用程序池,其标识设置为 ApplicationPoolIdentity(.NET Framework v4 / 集成管道)。 应用程序基本设置

已验证 IIS_IUSRS 的 AppPool 成员资格。 验证组成员资格

用户身份验证设置为 Windows 身份验证。 用户认证

是否应将匿名身份验证设置为“启用”以使用 ApplicationPoolIdentity?我试过设置它,但它与 Windows 身份验证冲突,这是我们应用程序的重要组成部分,无法关闭。如果是这样,那怎么办?

应用程序池和 IIS_IUSRS 都已被授予对该文件夹的读取和写入权限。我试过设置完全控制,但这也无济于事。 文件夹安全设置

这是将文件写入所需位置的(精简)代码: 精简代码

我尝试过的其他(愚蠢的)事情是:

  • 在我的代码中使用绝对和相对路径方向。
  • 启用匿名身份验证,导致与必要的 Windows 身份验证发生冲突。
  • 将应用程序池 ProcessModel 标识设置为网络服务。
  • 回收应用程序池。
  • 为应用程序池加载用户配置文件“打开”。
  • 为用户设置 IE 增强安全配置“关闭”。
  • 重新启动服务器机器。
  • 使用不同的浏览器。
  • 授予“每个人”完整文件夹权限,只是为了尝试效果,什么都没有..
  • 通过 IIS 配置编辑器将 AuthenticatedUserOverride 设置为 UseWorkerProcessUser。这会导致我的应用程序不再识别 Current.User.Identity.Name,因此它会阻止进一步的站点访问。

我需要的是保持 Windows 身份验证,但也能够让应用程序匿名将文件写入给定位置。

有人可以提示我正确的方向还是告诉我我忽略了什么?

谢谢!

0 投票
1 回答
372 浏览

iis - 如何在 IIS 中获取自定义应用程序池的标识(Windows 用户)名称

在 Win Server 2016 Standard 上的 IIS 中,我创建了新的应用程序池“MyApplicationPool”:

  1. .NET CLR 版本:无
  2. 身份:ApplicationPoolIdentity

并配置非默认网站来使用它。

但是,当我尝试IIS APPPOOL\MyApplicationPool在文件夹安全中使用例如时,它无法识别..

可能是什么问题呢?

0 投票
1 回答
690 浏览

asp.net-mvc - 在每个 Visual Studio 应用发布上重置 IIS 应用程序池标识权限

按照此问题中的说明,我可以成功更改应用程序池身份的权限

在此处输入图像描述

但是,在我发布网络应用程序后...

在此处输入图像描述

应用程序池标识已重置为只读

在此处输入图像描述

即使在我重新发布 Web 应用程序后,我如何才能为应用程序池标识提供完全权限?如果我授予 IUSR 完全权限,也会发生相同的行为。

0 投票
1 回答
181 浏览

c# - HttpWebRequest、TLS 和应用程序池服务标识

我们用于HttpWebRequest对远程服务器进行 Web 服务调用。该调用需要从本地计算机加载证书。

我们遇到的问题是,如果应用程序池标识设置为NetworkService然后调用失败,并在调用中出现通用 TLS/SSL 错误HttpWebResponse.GetResponse()。如果我们将应用程序池用户的身份更改为,LocalSystem则它可以正常运行。

我想弄清楚的是为什么。什么LocalSystem可以访问NetworkService不影响 post call 的内容?

代码非常简单:

0 投票
1 回答
71 浏览

iis - 对于应用程序池标识,当身份验证设置为匿名和 Windows 身份验证时,如何返回登录用户?

我是 IIS 部署的新手。看起来应用程序池身份用户将始终显示为用户的计算机名称。因此,如果我们使用域/用户名作为应用程序池标识,它将始终处理域/用户名,无论谁登录了应用程序。

当身份验证设置为匿名和 Windows 身份验证时,如何返回用户的计算机名?

这是我在 Startup.cs 上的内容

0 投票
2 回答
72 浏览

angular - 为什么我的页面在重新加载时当前没有登录?

我正在为我的网站使用 Angular。最初,一旦页面启动,就没有任何问题,并且可以完美地进行身份验证。但是,刷新页面时,它不能再拉当前登录用户了。看起来它不调用Windows身份验证。我正在添加我的代码。任何帮助表示赞赏。

本地存储已经实现。

0 投票
0 回答
121 浏览

iis - IIS 应用程序池 - 池标识登录失败后重试

有没有办法强制 IIS 应用程序池继续重试启动,即使它的池标识登录第一次失败?这是我看到的序列:

  1. IIS 应用程序池设置为作为有效的域凭据运行
  2. 机器重新启动
  3. IIS 应用程序池尝试启动,但仍无法联系域控制器
  4. IIS 应用程序池标识登录失败
  5. 事件查看器快速连续显示“WAS”事件 ID 5021、5057、5059(基本上是应用程序池身份登录失败的错误)
  6. 应用程序池已禁用,需要手动干预才能重新启动。
  7. 短时间过去后,到域控制器的网络路径可用后,应用程序池手动启动成功
0 投票
1 回答
28 浏览

iis - 使用应用程序池对 Web 应用程序进行身份验证

我们可以使用应用程序身份而不是 Windows 身份验证来验证托管在 ISS 上的 Web 应用程序吗?

应用程序将禁用 Windows 身份验证并启用匿名,并且应用程序应使用在应用程序池标识中输入的凭据进行身份验证。