繁体   English   中英

拒绝访问路径“ Global \\ {xxx} _YYY-YYY:13552”。 迟发型?

[英]Access to the path 'Global\{xxx}_YYY-YYY:13552' is denied. Hangfire?

如标题所述,我在MVC Web应用程序中遇到“访问路径”错误。 站点应用程序池是具有身份网络服务的DefaultAppPool。 我已经为网络服务用户设置了完全控制权,但是没有运气,然后我尝试赋予所有人完全控制权,但仍然无法正常工作。 我正在从同一文件夹(C:\\ Users \\ YYY \\ Documents \\ Visual Studio 2015 \\ Projects)运行另一个应用程序,它的工作没有问题。

失败的文件包含启动Hangfire的方法。 这可能与它有关吗?

我正在使用IIS 10.0运行Windows 10 Pro。

public void Start()
{
    lock (_lockObject)
    {
        if (_started) return;
        _started = true;

        HostingEnvironment.RegisterObject(this);

        GlobalConfiguration.Configuration
            .UseSqlServerStorage("connection string");
            // Specify other options here
        _backgroundJobServer = new BackgroundJobServer();
    }
}

http://docs.hangfire.io/en/latest/deployment-to-production/making-aspnet-app-always-running.html

的当前权限

C:\\ Users \\ YYY \\ Documents \\ Visual Studio 2015 \\ Project

安全设定

“ /”应用程序中的服务器错误。

拒绝访问路径“ Global {4deecd4f-19f6-426b-xxxx-xxxxxxxxxxxx} _YYY-YYY:13552”。

说明:执行当前Web请求期间发生未处理的异常。 请查看堆栈跟踪,以获取有关错误及其在代码中起源的更多信息。

异常详细信息:System.UnauthorizedAccessException:拒绝访问路径“ Global {4deecd4f-19f6-426b-xxxx-xxxxxxxxxxxx} _YYY-YYY:13552”。

没有授权ASP.NET访问请求的资源。 考虑将资源的访问权限授予ASP.NET请求标识。 ASP.NET具有一个基本进程标识(在IIS 5上通常为{MACHINE} \\ ASPNET或在IIS 6和IIS 7上为Network Service,在IIS 7.5上通常是配置的应用程序池标识),如果应用程序没有模拟,则使用该标识。 如果应用程序通过进行模拟,则身份将是匿名用户(通常为IUSR_MACHINENAME)或经过身份验证的请求用户。

要授予ASP.NET对文件的访问权限,请在文件资源管理器中右键单击该文件,选择“属性”,然后选择“安全性”选项卡。 单击“添加”以添加适当的用户或组。 突出显示ASP.NET帐户,然后选中所需访问权限的框。

源错误:

第36行:_backgroundJobServer = new BackgroundJobServer();

找到了问题,我在同一应用程序池上运行了两个运行Hangfire的网站。 当我为每个网站创建一个新的应用程序池时,所有内容都开始工作。

似乎在同一应用程序池上运行时,两个Hangfire实例都试图通过同一端口进行通信,因此,首先启动的应用程序是唯一可以运行的应用程序。 它们之所以在同一个应用程序池中,是出于纯粹的惰性,我只在本地IIS的Visual Studio中创建了一个虚拟目录来运行该项目。

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM