G G*_* Gr 14 .net c# wcf exception-handling wcf-rest
我有一个名为WcfService2(原件我知道)的服务,它有一个带有公共接口的IService.cs文件:
namespace WcfService2
{
[ServiceContract]
public interface IService1
{
[OperationContract]
[WebGet(UriTemplate = "/{value}")]
string GetData(string value);
}
}
Run Code Online (Sandbox Code Playgroud)
然后我有我的公共类Service1.svc.cs文件,它返回一个值的字符串,如下所示:
namespace WcfService2
{
public class Service1 : IService1
{
public string GetData(string value)
{
return string.Format("You entered: {0}", value);
}
}
}
Run Code Online (Sandbox Code Playgroud)
我现在正尝试使用如下控制台应用程序来托管此服务:
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();
}
}
}
Run Code Online (Sandbox Code Playgroud)
但运行后我收到错误:
ServiceHost仅支持类服务类型.
所以这显然与我的IService是公共接口类型有关.但我不知道如何创建它,当我第一次创建它时,WCF Service application
它会为您提供两个标准文件IService和Service.svc文件,如果我删除或者,并且只在我尝试添加Web服务时在一个类中实现此解决方案在当地的灵魂中找不到任何东西.
有没有办法摆弄主机代码?
Wil*_*ler 30
我建议你改变这个:
WebServiceHost host = new WebServiceHost(typeof(IService1));
Run Code Online (Sandbox Code Playgroud)
对此:
WebServiceHost host = new WebServiceHost(typeof(Service1));
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
25091 次 |
最近记录: |