在Windows服务中调用WCF服务

时间:2014-07-21 17:02:47

标签: wcf

我的应用程序在IIS中托管了WCF服务。我有另一个运行Windows服务的应用程序。现在我需要在Windows服务中使用IIS服务(带有wsHTTPBinding的WCF)。

我尝试在Windows服务中创建代理,但是它没有被Windows服务认可。

任何人都可以通过示例代码帮助我,如何从Windows服务中调用IIS中托管的WCF服务。

我附上了错误信息 enter image description here

[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
[System.ServiceModel.ServiceContractAttribute(ConfigurationName="ServiceReference1.IService1")]
public interface IService1 {

    [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IService1/GetData", ReplyAction="http://tempuri.org/IService1/GetDataResponse")]
    string GetData(int value);

    [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IService1/GetData", ReplyAction="http://tempuri.org/IService1/GetDataResponse")]
    System.Threading.Tasks.Task<string> GetDataAsync(int value);
}

[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
public interface IService1Channel : FileMgntService.ServiceReference1.IService1, System.ServiceModel.IClientChannel {
}

[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
public partial class Service1Client : System.ServiceModel.ClientBase<FileMgntService.ServiceReference1.IService1>, FileMgntService.ServiceReference1.IService1 {

    public Service1Client() {
    }

    public Service1Client(string endpointConfigurationName) : 
            base(endpointConfigurationName) {
    }

    public Service1Client(string endpointConfigurationName, string remoteAddress) : 
            base(endpointConfigurationName, remoteAddress) {
    }

    public Service1Client(string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) : 
            base(endpointConfigurationName, remoteAddress) {
    }

    public Service1Client(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) : 
            base(binding, remoteAddress) {
    }

    public string GetData(int value) {
        return base.Channel.GetData(value);
    }

    public System.Threading.Tasks.Task<string> GetDataAsync(int value) {
        return base.Channel.GetDataAsync(value);
    }
}

0 个答案:

没有答案