我有一个工作控制台应用程序,其中所有的地址和配置都在一个配置文件中。但是,当我尝试将此代码移动到WCF服务应用程序时,我得到了各种错误。
class Program
{
static void Main(string[] args)
{
WebServiceHost host = new WebServiceHost(typeof(ImageService));
host.Open();
Console.WriteLine("Service up");
Console.ReadLine();
host.Close();
}
}问题是WCF服务应用程序会自动启动,并且没有像控制台应用程序那样的main方法。我如何定义WCF服务以在不存在WebServiceHost方法时启动main?
发布于 2013-03-21 17:45:51
对于这个问题,我找到了一个非常简单的解决方案。为了告诉WCF改用webservice,需要做的就是将下面的代码添加到.svc文件中
Factory="System.ServiceModel.Activation.WebServiceHostFactory"不知何故,我无法在Visual Studio中打开这个文件,所以我导航到项目文件夹,并使用记事本打开它。我的服务.svc-file如下所示:
<%@ ServiceHost Language="C#" Debug="true" Service="MyNamespace.Service1" CodeBehind="Service1.svc.cs" Factory="System.ServiceModel.Activation.WebServiceHostFactory" %>发布于 2013-03-20 20:14:45
您必须通过继承ServiceBase类来创建自己的服务。重写OnStart()方法并在实现中打开您的WCF服务。重写OnStop()方法并在实现中关闭您的WCF服务。
https://stackoverflow.com/questions/15521540
复制相似问题