(мы знаем, что это старая технология, но нам нужно много времени для обновления)
С этой ночи на многих компьютерах с Windows, после этого обновления Windows (см. изображение ниже)
последнее обновление Windows, найденное в истории компьютеров
Wcf перестал работать, и обычная страница, которую мы привыкли видеть через браузер
вот пример страница
перестала отвечать с ошибкой ERR_CONNECTION_RESET в браузере
тест после обновлений
Ошибок вообще нет: ни на стороне программного обеспечения, ни на стороне ОС
У кого-то есть подобная проблема?
Или, может быть, у вас есть предложение?
- мы попробовали удалить обновление Windows, но проблема все еще здесь.
- мы пытались создать более простую версию приложения с более простой версией WCF, но проблема все еще здесь.
Даже тестовое приложение написано на C# и работает в платформе 4.8.
Если вы хотите протестировать, вот небольшой проект C#, который пытается запустить простой wcf для каждого найденного IP
https://www.dropbox.com/scl/fi/ffp36nst ... sl11m&dl=0
Но если вы не хотите ничего скачивать, вы можете использовать это код
Код: Выделить всё
private void StartWcf(string ip, int port)
{
var uri = $"http://{ip}:{port}/ITest";
try
{
var suri = $"https://{ip}:{port}/ITest";
var adrbase = new Uri(uri);
var wcf = new System.ServiceModel.ServiceHost(typeof(ServiceWCF), adrbase);
if (!wcf.Description.Behaviors.Any(x => x.GetType().Equals(typeof(ServiceDebugBehavior))))
wcf.Description.Behaviors.Add(new ServiceDebugBehavior { IncludeExceptionDetailInFaults = true });
else
((ServiceDebugBehavior)wcf.Description.Behaviors[typeof(ServiceDebugBehavior)]).IncludeExceptionDetailInFaults = true;
if (wcf.Description.Behaviors.Any(x => x.GetType().Equals(typeof(ServiceBehaviorAttribute))))
{
((ServiceBehaviorAttribute)wcf.Description.Behaviors[typeof(ServiceBehaviorAttribute)]).IncludeExceptionDetailInFaults = true;
}
wcf.Description.Behaviors.Add(new System.ServiceModel.Description.ServiceMetadataBehavior { HttpGetEnabled = true, });
var httpb = new System.ServiceModel.BasicHttpBinding
{
MaxBufferPoolSize = 2147483647,
MaxBufferSize = 2147483647,
MaxReceivedMessageSize = 2147483647
};
wcf.AddServiceEndpoint(typeof(IServiceWCF), httpb, uri);
wcf.AddServiceEndpoint(typeof(System.ServiceModel.Description.IMetadataExchange), System.ServiceModel.Description.MetadataExchangeBindings.CreateMexHttpBinding(), "mex");
wcf.Open();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
Код: Выделить всё
[ServiceContract]
public interface IServiceWCF
{
[OperationContract]
bool OnLine();
}
public class ServiceWCF : IServiceWCF
{
public bool OnLine()
{
return true;
}
}
Подробнее здесь: https://stackoverflow.com/questions/797 ... ows-update
Мобильная версия