运行Web应用程序时遇到此错误。仅当代码在我的Web服务器上运行时,才会给出错误。我可以在本地计算机上运行完全相同的代码,并且效果很好。在网络服务器上运行应用程序时,看到错误的唯一方法是尝试运行给定页面时按f12键。该页面正在尝试将文件通过SFTP发送到另一台服务器,但是就像我说的那样,我可以在本地计算机上运行完全相同的代码而不会出现任何错误,因此我知道该代码可以工作。没有弹出的消息或错误框。我已经遍历了所有代码,并研究了本地计算机上安装的配置和程序与Web服务器上安装的程序之间的区别。我看不出有什么不同。这是我看到的整个错误消息:
Sys.WebForms.PageRequestManagerServerErrorException:源为 未找到,但是无法搜索某些或所有事件日志。至 创建源,您需要获得读取所有事件日志的权限才能进行 确保新的源名称是唯一的。无法访问的日志:安全性。
我已经找到了很多有关此错误的问题,其中大多数人都在谈论在此注册表项中授予所有用户访问权限:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Security
或在上面的密钥中添加一个名为Network Service
的用户,并授予其对整个Network Service
的{{1}}用户的完全访问权限或授予EventLog branch
用户的读取权限。我探索的另一条路径是在IIS中更改应用程序池的标识,然后再将其更改回。我已经尝试了SO和其他地方列出的所有内容。就像我说的那样,大多数操作都涉及编写新键和更改注册表中键的权限。我尝试过的另一个尝试是创建一个名为HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\eventlog\Application\#MY APP#
的注册表项,然后在其中创建一个名为EventMessageFile
且其中值为C:\Windows\Microsoft.NET\Framework\v4.0.30319\EventLogMessages.dll
的字符串值。另一个建议是以管理员身份打开该应用程序。那也不起作用。我可以继续下去,但是为了不把它变成一本我不会的小说,但是我希望我已经展示了足够的例子,让大家知道我之前在尝试其他解决方案之前已经做了尽职调查问我的问题。有人可以帮我解决这个令人沮丧的错误吗?