我有一个用VS2013 C#编写的WebService,其中包含一个名为StatConnectorSrv的嵌入式程序集。 StatConnectorSrv与名为StatConnDCOM的第三方程序进行交互,以运行另一个名为“ R”的程序。该服务在带有IIS 10的Windows Server 2016上运行。该服务在StatConnector初始化之前一直运行良好。我收到问题标题中显示的拒绝访问错误。使用StatConnector的控制台测试程序在服务器上可以正常运行,因此问题是使我的Web服务代码启动了StatConnector dll。我正在使用StatConnDCOM和R的32位版本。
在IIS中启用了32位进程 在IIS中启用了匿名身份验证(设置为“特定用户-IUSR”) IIS \ AppPool \默认网站\高级\进程模型\身份:设置为“网络服务”或“ ApplicationPoolIdentity”无济于事。 在Component Services \ StatConnectorSrv中:给IIS匿名用户完整的启动和激活权限以及访问权限
该服务读取带有输入变量的XML消息,使用StatConnDCOM通过R运行某些计算,然后返回带有结果的XML消息。 Web服务代码无法初始化StatConnDCOM(但是当我使用控制台程序调用StatConnDCOM时,它可以正常工作)
答案 0 :(得分:0)
IIS的功能配置为:
AppPool \ DefaultWebSite必须设置为“经典”;
ISS \默认网站\身份验证:启用了匿名身份验证;
IIS \应用程序池\默认网站: 托管管道模式:经典; 允许32位应用程序:True; 身份:本地系统;
最后一点,“本地系统”是我的错