Я новичок в WCF и пытаюсь запустить мой первый сервис. Я близко, но застрял в этой проблеме.
В моем файле определения интерфейса у меня есть это:
[ServiceContract(Namespace="http://mysite.com/wcfservices/2009/02")]
public interface IInventoryService
{
[OperationContract]
string GetInventoryName(int InventoryID);
}
Тогда у меня есть файл класса (для сервиса), который его наследует:
public class InventoryService : IInventoryService
{
// This method is exposed to the wcf service
public string GetInventoryName(int InventoryID)
{
return "White Paper";
}
Наконец, в моем проекте Host у меня есть это:
ServiceHost host = new ServiceHost(typeof(Inventory.InventoryService));
host.AddServiceEndpoint(typeof(Inventory.InventoryService), new NetTcpBinding(),
"net.tcp://localhost:9000/GetInventory");
host.Open();
Все компилируется нормально, и когда хост отправляет добавить конечную точку службы, он бомбардирует это: «Тип контракта Inventory.InventoryService не приписывается ServiceContractAttribute. Для определения действительного контракта указан тип (либо контракт интерфейс или класс обслуживания) должны быть приписаны с ServiceContractAttribute. "
Я знаю, что мне здесь не хватает чего-то простого. У меня интерфейс четко помечен как сервисный контракт, и в проекте Host есть ссылка на этот проект.