我是WCF的新人。我创建了一个新的WCF服务,它有一个名为SendFax()的方法。它运行在Windows服务上。我希望其他用户使用这种方法,但如何?我用installutil.exe安装了windows服务,现在正在运行。我想我的WCF服务正在收听。我该如何获得这项服务?我的Windows服务代码在这里:
public partial class WCFWinService : ServiceBase
{
ServiceHost serviceHost;
public WCFWinService()
{
InitializeComponent();
ServiceName = "Digiturk FaxPro WCF";
}
protected override void OnStart(string[] args)
{
if (serviceHost != null)
{
serviceHost.Close();
}
serviceHost = new ServiceHost(typeof(FaxPro.WCFWindowsService.WCFWinService));
serviceHost.Open();
}
protected override void OnStop()
{
if (serviceHost != null)
{
serviceHost.Close();
serviceHost = null;
}
}
}
WCF接口代码:
[ServiceContract]
public interface IWCFService
{
[OperationContract]
void SendFax(....);
}
WCF服务代码:
public class WCFService : IWCFService
{
public void SendFax(...)
{ ... }
有什么建议吗?
App.Config就在这里
<?xml version="1.0"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="BasicHttpBinding_IWCFService" />
</basicHttpBinding>
</bindings>
<client>
<endpoint address="http://localhost:8733/Design_Time_Addresses/Digiturk.FaxPro.WcfServiceLibrary/Service1/"
binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IWCFService"
contract="localhost.IWCFService" name="BasicHttpBinding_IWCFService" />
</client>
</system.serviceModel>
</configuration>
答案 0 :(得分:0)
您可以在定义的地址连接此服务:
http://example.com:8733/Design_Time_Addresses/Digiturk.FaxPro.WcfServiceLibrary/Service1/
这是一个SOAP服务 - 所以你需要一个支持SOAP的测试工具,比如SoapUI或WCF测试客户端(只是一个浏览器不能工作)。您可以通过将?wsdl
附加到URL来获取上述地址的服务的WSDL。