Но сказали что в будущем клиент потребует чтобы сервис работал через HTTPS. Сервис крутится внутри Windows Service (self hosted). Порылся в инете, поменял код инициализации сервиса:
Code: Select all
var url = "https://localhost:7070/FileUploader";
var sh = new ServiceHost(typeof(FileUploader));
var binding = new WebHttpBinding
{
TransferMode = TransferMode.Streamed
........
}
binding.Security = new WebHttpSecurity { Mode = WebHttpSecurityMode.Transport };
sh.Credentials.ServiceCertificate.SetCertificate(StoreLocation.LocalMachine, StoreName.My, X509FindType.FindBySubjectName, "certificateSubj");
var se = sh.AddServiceEndpoint(typeof(IFileUploader), binding, url);
se.Behaviors.Add(new WebHttpBehavior());
sh.Open();
Code: Select all
var request = (HttpWebRequest)WebRequest.Create(requestUrl);
request.Method = "POST";
request.ContentType = "text/plain";
request.Accept = "application/json";
var fileToSend = File.ReadAllBytes(filePath);
request.ContentLength = fileToSend.Length;
try
{
using (var requestStream = request.GetRequestStream())
{
requestStream.Write(fileToSend, 0, fileToSend.Length);
}
.......
}
надо ли на клиенте что то делать, после того как сервис перешел на HTTPS?
Спасибо