我有一个名为WcfService2(原来我知道),其中有一个IService.cs与公共接口文件的服务:的ServiceHost仅支持类服务类型
namespace WcfService2
{
[ServiceContract]
public interface IService1
{
[OperationContract]
[WebGet(UriTemplate = "/{value}")]
string GetData(string value);
}
}
然后我有我的公共类Service1.svc.cs文件,该文件返回像这样的值的字符串
namespace WcfService2
{
public class Service1 : IService1
{
public string GetData(string value)
{
return string.Format("You entered: {0}", value);
}
}
}
我现在试图用一个控制台应用程序,像这样举办这次服务:
namespace Host
{
class Program
{
static void Main(string[] args)
{
WebHttpBinding binding = new WebHttpBinding();
WebServiceHost host =
new WebServiceHost(typeof(IService1));
host.AddServiceEndpoint(typeof(IService1),
binding,
"http://localhost:8000/Hello");
host.Open();
Console.WriteLine("I DONT LIKE REST!");
Console.WriteLine("Press <RETURN> to KILL REST FOR GOOD");
Console.ReadLine();
}
}
}
但我运行后出现错误:
ServiceHost只支持类服务类型。
所以这显然与我的IService是公共接口类型有关。但我不知道如何创建它,当我第一次创建WCF Service application
它给你两个标准文件IService和Service.svc文件,如果我删除或者,并且只在一个类中实现这个解决方案,当我尝试添加网络在本地灵魂服务中找不到任何东西。
有没有办法摆脱主机代码?
还有另外一个答案试试@ http://stackoverflow.com/q/19306395/16391 – StingyJack 2015-05-13 21:13:05