0

我是 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>
4

1 回答 1

0

您可以在定义的地址连接到此服务:

 http://example.com:8733/Design_Time_Addresses/Digiturk.FaxPro.WcfServiceLibrary/‌Service1/ 

它是一个 SOAP 服务——因此您需要一个支持 SOAP 的测试工具,例如 SoapUI 或 WCF 测试客户端(只是浏览器无法工作)。?wsdl您可以通过附加到 URL 来获取上述地址的服务的 WSDL 。

于 2013-07-23T07:27:48.117 回答