这个soap客户端如果作为控制台运行,但作为测试(nunit)不起作用。第二种情况的错误是:"无法从传输连接读取数据:远程主机强制关闭现有连接"
[TestFixture]
public class BasicTests
{
static void Main(string[] args)
{
using (var service = new ServiceReference2.GatewaySoapClient())
{
var result = service.GetFileStatus("bla", "bla", false);
}
}
[TestCase]
public void FileInfoTest()
{
using (var service = new ServiceReference2.GatewaySoapClient())
{
var result = service.GetFileStatus("bla", "bla", false);
}
}
}
F5并且正常工作,调试测试失败。一个谜。
答案 0 :(得分:1)
System.Net.ServicePointManager.SecurityProtocol
在两种情况下都不同,我必须在测试模式下强制它:
System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls | System.Net.SecurityProtocolType.Tls11 |System.Net.SecurityProtocolType.Tls12;
using (var service = new ServiceReference2.GatewaySoapClient())
{
var result = service.GetFileStatus("bla", "bla", false);
}
很难找到的问题。希望这篇文章可以帮助别人。注意:它也会在Web应用程序中调用它。