VS 2015 / WPF App
我知道有很多关于添加服务引用的其他问题,但我还没有看到像这样的任何其他问题。
我可以添加服务引用,它可以很好地生成客户端代理,我可以在构建它时获得intelense支持。
但是当我试图调用服务时,我得到了可怕的
无法找到引用合同的默认端点元素' ServiceReference1.NAMEOFSERVICE'在ServiceModel客户端配置部分中。这可能是因为没有为您的应用程序找到配置文件,或者因为在客户端元素中找不到与此合同匹配的端点元素。
所以在浏览了几十个关于SO的其他问题之后,我查看了新服务的configuration.svcinfo并找到了它。
<?xml version="1.0" encoding="utf-8"?>
<configurationSnapshot xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="urn:schemas-microsoft-com:xml-wcfconfigurationsnapshot">
<behaviors />
<bindings />
<endpoints />
</configurationSnapshot>
我添加的其他服务有一个看起来像这样的configuration.svcinfo文件
<?xml version="1.0" encoding="utf-8"?>
<configurationSnapshot xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="urn:schemas-microsoft-com:xml-wcfconfigurationsnapshot">
<behaviors />
<bindings>
<binding digest="System.ServiceModel.Configuration.BasicHttpBindingElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089:<?xml version="1.0" encoding="utf-16"?><Data name="ServiceSoap"><security mode="Transport" /></Data>" bindingType="basicHttpBinding" name="ServiceSoap" />
<binding digest="System.ServiceModel.Configuration.BasicHttpBindingElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089:<?xml version="1.0" encoding="utf-16"?><Data name="ServiceSoap1" />" bindingType="basicHttpBinding" name="ServiceSoap1" />
</bindings>
<endpoints>
<endpoint normalizedDigest="<?xml version="1.0" encoding="utf-16"?><Data address="https://api.demo.globalgatewaye4.firstdata.com/transaction/v11" binding="basicHttpBinding" bindingConfiguration="ServiceSoap" contract="ServiceReference2.ServiceSoap" name="ServiceSoap" />" digest="<?xml version="1.0" encoding="utf-16"?><Data address="https://api.demo.globalgatewaye4.firstdata.com/transaction/v11" binding="basicHttpBinding" bindingConfiguration="ServiceSoap" contract="ServiceReference2.ServiceSoap" name="ServiceSoap" />" contractName="ServiceReference2.ServiceSoap" name="ServiceSoap" />
</endpoints>
</configurationSnapshot>
所以基本上这个新服务的configuratione.svcinfo是空的。
当然,app.config文件也没有关于这项新服务的任何内容。
有没有人知道为什么VS会成功创建代理但不打扰创建configuration.svcinfo?