У меня есть основной проект библиотеки WCF, который я пытаюсь разместить в консольном приложении. Основной метод файла Program.cs приведен ниже:WCF service 404 Не найдено
static void Main(string[] args)
{
// Create a binding and set the security mode to Message.
BasicHttpBinding b = new BasicHttpBinding();//WSHttpBinding(SecurityMode.Message);
Type contractType = typeof(SecureWCFLib.IService1);
Type implementedContract = typeof(SecureWCFLib.Service1);
Uri baseAddress = new Uri("http://localhost:8733/Design_Time_Addresses/SecureWCFLib/Service1/");
ServiceHost sh = new ServiceHost(implementedContract, baseAddress);
sh.AddServiceEndpoint(contractType, b, "Service1");
ServiceMetadataBehavior sm = new ServiceMetadataBehavior();
sm.HttpGetEnabled = true;
sh.Description.Behaviors.Add(sm);
sh.Open();
Console.WriteLine("Listening");
Console.ReadLine();
sh.Close();
}
У меня есть другое консольное приложение, которое действует как клиент. Я пытаюсь потреблять услугу в Program.cs, как указано ниже:
static void Main(string[] args)
{
IService1 productChannel = null;
EndpointAddress productAddress = new EndpointAddress("http://localhost:8733/Design_Time_Addresses/SecureWCFLib/Service1/");
productChannel = ChannelFactory<IService1>.CreateChannel(new BasicHttpBinding(), productAddress);
string result = productChannel.GetData(123);
Console.WriteLine(result);
Console.Read();
}
Но я получаю исключение, как
{"The remote server returned an error: (404) Not Found."}
Пожалуйста, дайте мне знать, что я делаю неправильно здесь.
Пробовали ли вы доступ к вашему WCF URL в браузере? это открытие там? – SoftSan
Да, он работает в браузере – 2014-09-25 06:05:31