У меня есть метод подключения и использования метода WCF, который находится на HTTPS и требует имени пользователя и пароля в .net 4. Теперь мне нужно сделать то же самое, но внутри .Net 2, и я не могу заставить его работать. Я продолжаю получать ошибку ниже. Может ли кто-нибудь помочь?Использование WCF в .net 2
Ошибка { «Базовое соединение закрыто:. Произошла неожиданная ошибка на получение»} внутреннее исключение { "Невозможно прочитать данные из транспортного соединения: существующее соединение было принудительно закрыто удаленным хозяин "}
.Net 4 Оригинальный код:.
WSHttpBinding myBinding = new WSHttpBinding();
myBinding.Security.Mode = SecurityMode.Transport;
myBinding.Security.Transport.ClientCredentialType = HttpClientCredentialType.Basic;
EndpointAddress ea = new EndpointAddress(wcfURL);
var web = new Gateway.GatewayClient(myBinding, ea);
// var web = new Gateway.GatewayClient();
XMLCrypto crypto = new XMLCrypto();
web.ClientCredentials.UserName.UserName = crypto.DecryptString(username);
web.ClientCredentials.UserName.Password = crypto.DecryptString(password);
web.Open();
web.Inbound("HOLog", message.Trim().Replace("\n", "").Replace(@"\\", ""));
web.Close();
.Net 2 Код
XMLCrypto crypto = new XMLCrypto();
url = "http://..../gateway/gateway.svc";
userName = crypto.DecryptString(userName);
password = crypto.DecryptString(password);
var web = new Gateway.Gateway();
var credentials = new NetworkCredential(userName, password);
CredentialCache credentialCache = new CredentialCache();
credentialCache.Add(new Uri(url), "Basic", credentials);
web.Credentials = credentials;
string returnMessage = web.Inbound("LSOA", " ");