C# WCF:无法使我的Web服务在服务器上工作

C# WCF:无法使我的Web服务在服务器上工作,c#,wcf,service,config,C#,Wcf,Service,Config,我的问题是,我有一个WebserviceEService,它在我的调试项目中非常有效,但是当我将它实现到WinForm项目中,并将该服务放在服务器上时。我在装箱客户机时遇到这个错误 An unhandled exception of type 'System.InvalidOperationException' occurred in System.ServiceModel.dll Could not find default endpoint element that references

我的问题是,我有一个Webservice
EService
,它在我的调试项目中非常有效,但是当我将它实现到WinForm项目中,并将该服务放在服务器上时。我在装箱客户机时遇到这个错误

An unhandled exception of type 'System.InvalidOperationException' 
occurred in System.ServiceModel.dll

Could not find default endpoint element that references contract '{0}' in the ServiceModel
client configuration section. This might be because no configuration file was found for your application,
or because no endpoint element matching this contract could be found in the client element.
App.config

<system.serviceModel>
<bindings>
  <basicHttpBinding>
    <binding name="BasicHttpBinding_IEService" />
  </basicHttpBinding>
</bindings>
<client>
  <endpoint address="http://Domane.dk/EService.svc" binding="basicHttpBinding"
      bindingConfiguration="BasicHttpBinding_IEService" contract="IEService"
      name="BasicHttpBinding_IEService" />
</client>

我不明白它失败的原因。对不起,我是个新手。是的,我已经上网两天了,现在正试图找到一个解决方案。

我认为这与
有关,我在dll中使用web服务时也遇到了同样的问题。
试试这个:

    using (var test = CreateWebServiceInstance("http://url.to.mywebservice.com"))
    {
        test.OpdaterLeastDatoWinPLC(connstr);
    }
输入上面web服务的正确url,并使用下面的代码创建客户端。您仍然需要将web服务添加到项目中,以便为您创建类EServiceClient

    internal static EServiceAPI.EServiceClient CreateWebServiceInstance(string url) {
        BasicHttpBinding binding = new BasicHttpBinding();
        binding.SendTimeout = TimeSpan.FromMinutes(10);
        binding.OpenTimeout = TimeSpan.FromMinutes(1);
        binding.CloseTimeout = TimeSpan.FromMinutes(1);
        binding.ReceiveTimeout = TimeSpan.FromMinutes(20);
        binding.AllowCookies = false;
        binding.BypassProxyOnLocal = false;
        binding.HostNameComparisonMode = HostNameComparisonMode.StrongWildcard;
        binding.MessageEncoding = WSMessageEncoding.Text;
        binding.TextEncoding = Encoding.UTF8;
        binding.TransferMode = TransferMode.Buffered;
        binding.UseDefaultWebProxy = true;
        binding.MaxReceivedMessageSize = 5242880;
        return new EServiceAPI.EServiceClient(binding, new EndpointAddress(url));
    }

如果可行,您可以修改上述设置以更好地满足您的需要。

我不知道如何或为什么,但这是可行的。非常感谢你
    using (var test = CreateWebServiceInstance("http://url.to.mywebservice.com"))
    {
        test.OpdaterLeastDatoWinPLC(connstr);
    }
    internal static EServiceAPI.EServiceClient CreateWebServiceInstance(string url) {
        BasicHttpBinding binding = new BasicHttpBinding();
        binding.SendTimeout = TimeSpan.FromMinutes(10);
        binding.OpenTimeout = TimeSpan.FromMinutes(1);
        binding.CloseTimeout = TimeSpan.FromMinutes(1);
        binding.ReceiveTimeout = TimeSpan.FromMinutes(20);
        binding.AllowCookies = false;
        binding.BypassProxyOnLocal = false;
        binding.HostNameComparisonMode = HostNameComparisonMode.StrongWildcard;
        binding.MessageEncoding = WSMessageEncoding.Text;
        binding.TextEncoding = Encoding.UTF8;
        binding.TransferMode = TransferMode.Buffered;
        binding.UseDefaultWebProxy = true;
        binding.MaxReceivedMessageSize = 5242880;
        return new EServiceAPI.EServiceClient(binding, new EndpointAddress(url));
    }