C# 将WCF服务用作类的一部分
一个奇怪/愚蠢的问题,但是。。我创建了一个简单的WCF服务,用于侦听来自数据库的数据请求。它作为一个服务在我的机器上正常运行没有问题,但我想知道-这个WCF服务可以作为一个普通类使用吗?比如说C# 将WCF服务用作类的一部分,c#,.net,wcf,C#,.net,Wcf,一个奇怪/愚蠢的问题,但是。。我创建了一个简单的WCF服务,用于侦听来自数据库的数据请求。它作为一个服务在我的机器上正常运行没有问题,但我想知道-这个WCF服务可以作为一个普通类使用吗?比如说 public static void main (String [] args) { MyWcfService service = new MyWcfService (); /* Code to set-up and start listening for requests... */ }
public static void main (String [] args) {
MyWcfService service = new MyWcfService ();
/* Code to set-up and start listening for requests... */
}
或者它只是在我的机器上作为服务运行吗?取决于您想要实现什么:
- 如果使用类的功能,yes,您可以实例化它并调用它的成员
- 如果将其用作真正的WCF服务,否,则需要先托管它。在IIS或Windows服务等中
public static void Main()
{
MyWcfService instance = new MyWcfService();
using (ServiceHost serviceHost = new ServiceHost(instance))
{
var endpoint = serviceHost.AddServiceEndpoint(typeof(IMyWcfService), new NetTcpBinding(), "net.tcp://localhost:8000/MyWcfService");
serviceHost.Open();
// The service can now be accessed.
Console.WriteLine("The service is ready at {0}", endpoint.Address);
Console.WriteLine("Press <ENTER> to terminate service.");
Console.WriteLine();
Console.ReadLine();
}
}
publicstaticvoidmain()
{
MyWcfService实例=新的MyWcfService();
使用(ServiceHost ServiceHost=新ServiceHost(实例))
{
var endpoint=serviceHost.AddServiceEndpoint(typeof(IMyWcfService)),新的NetTcpBinding(),“net。tcp://localhost:8000/MyWcfService");
Open();
//现在可以访问该服务。
WriteLine(“服务在{0}处准备好了”,endpoint.Address);
控制台。WriteLine(“按以终止服务”);
Console.WriteLine();
Console.ReadLine();
}
}
请注意,这使用一个实例来服务所有调用,通常WCF会根据需要创建服务类的实例。我有一个服务器来解析下载的数据并向Android设备发送通知-我希望创建某种REST服务,以便Android应用程序可以向服务器发送请求,例如。获取数据,更改参数等等,现在我考虑一下。。。我并不真的需要它作为WCF服务——即使只是一个简单的可以接受REST请求的HttpListener也会很棒,我只是在这方面几乎没有经验,希望能得到一些指点@SCassidy1986-听起来您可能对Web API感兴趣: