当我创建 Windows服务以从 Web应用程序(ASP.NET c#)获取信息以便在客户端计算机中安排某些任务时。
从Web应用程序中使用WCF。我添加了WCF参考 以Window Service项目作为服务参考,一切似乎都很好。它 更新了app.config文件,添加了服务引用等。 它不起作用。任何想法都会非常有用。
我的代码如下所示
string result = string.Empty;
BasicHttpBinding myBinding = new BasicHttpBinding();
EndpointAddress myEndpoint = new EndpointAddress("http://test.com/Service.svc/DevicesService");
using (ChannelFactory<IDevicesService> myChannelFactory = new ChannelFactory<IDevicesService>(myBinding, myEndpoint))
{
IDevicesService wcfClient1 = myChannelFactory.CreateChannel();
result = wcfClient1.CheckNetworkConnection(IPLocalHost);
if (!string.IsNullOrEmpty(result) && result.Equals(IPLocalHost))
{
EventLog.WriteEntry("Test connection succeeded");
}
else
{
EventLog.WriteEntry("No live connection currently available");
}
((IClientChannel)wcfClient1).Close();
}
答案 0 :(得分:4)
在构建Windows服务时,我发现构建一个执行与服务相同工作的控制台应用程序会更容易。我将实际工作代码(例如上面的代码片段)抽象为一个单独的程序集,然后从我的服务的start方法或控制台的main方法中调用它。
如果您将上面的代码移到控制台应用程序中,它是否有效?如果没有,您可以单步执行它并让我们知道它失败的地方。当它失败时,你会看到什么异常信息?
告诉我们,我们会帮助您!