最近在做一个上位机项目,要同时控制多个三菱PLC(不同IP地址),每个PLC都是新建一个单独线程来交互
在本机用VS调试运行时,没有问题,所有线程交互都正常,没有任何报错
正常运行日志是这样的

现在遇到个很奇怪的问题,在我发布完成,部署到IIS(也是本机的IIS)中后,只有实例化的第一个PLC线程正常,其余的会报错,如下图
配置:
{
"ParentStation": "OP620",
"stationChildren": [
{
"staioncode": "OP620",
"stationType": "2", //1 手动模式 2 自动模式
"PLCAdrress": "192.168.5.153",
"PLCPort": 5003,
"Model": "SL_Qna_3E"
}
]
},
{
"ParentStation": "OP700",
"stationChildren": [
{
"staioncode": "OP700",
"stationType": "2", //1 手动模式 2 自动模式
"PLCAdrress": "192.168.5.166",
"PLCPort": 5002,
"Model": "SL_Qna_3E"
}
]
}
IIS(本机IIS)中运行报错,如下图

然后我将配置文件中的PLC地址调换了一下
{
"ParentStation": "OP700",
"stationChildren": [
{
"staioncode": "OP700",
"stationType": "2", //1 手动模式 2 自动模式
"PLCAdrress": "192.168.5.166",
"PLCPort": 5002,
"Model": "SL_Qna_3E"
}
]
},
{
"ParentStation": "OP620",
"stationChildren": [
{
"staioncode": "OP620",
"stationType": "2", //1 手动模式 2 自动模式
"PLCAdrress": "192.168.5.153",
"PLCPort": 5003,
"Model": "SL_Qna_3E"
}
]
}
IIS(本机IIS)中运行报错,如下图

所以得出结论为,VS的调试环境与本机的IIS运行环境不同,但我在VS中又无法复现,但这个不同点如何排查呢?感谢!