Soap Client在控制台模式下工作,但不能作为NUnit测试

时间:2016-10-09 17:00:36

标签: c# nunit soap-client

这个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并且正常工作,调试测试失败。一个谜。

1 个答案:

答案 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应用程序中调用它。