【问题标题】:cannot create WCF client无法创建 WCF 客户端
【发布时间】:2015-02-26 08:21:11
【问题描述】:

我有 WCF 服务,这是我的 app.config

    <?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
    </startup>
    <system.serviceModel>
        <behaviors>
            <serviceBehaviors>
                <behavior name="">
                    <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />
                    <serviceDebug includeExceptionDetailInFaults="false" />
                </behavior>
            </serviceBehaviors>
        </behaviors>
        <services>
            <service name="PassAccessSystem.DBService.DBHostService">
                <endpoint address="" binding="basicHttpBinding" contract="PassAccessSystem.DBService.IDBHostService">
                    <identity>
                        <dns value="localhost" />
                    </identity>
                </endpoint>
                <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
                <host>
                    <baseAddresses>
                        <add baseAddress="http://localhost:8733/Design_Time_Addresses/PassAccessSystem/DBHostService/" />
                    </baseAddresses>
                </host>
            </service>
        </services>
    </system.serviceModel>
</configuration>

但是现在当我想创建 WCF 客户端时,在 ADD SERVICE REFERANCE 窗口中我找不到我的服务??? 我的 app.config 有什么问题?还是其他问题?`

An error occured while attempting to find services

cannot download metadata 

【问题讨论】:

  • 这不是 Web 应用程序,我可以添加哪些 Web 服务?
  • 这个app.config对吗?

标签: c# wcf service client app-config


【解决方案1】:

需要更多信息。如果这是客户端 app.config,那么您需要在 system.serviceModel/client 下添加。您不能在 app.config 中使用服务器端设置。

正如您所说,您正在使用添加服务参考,那么我希望您已经提交了结果,这不是我在您包含的配置文件中看到的。

如果您在自己的代码中自行托管 wcf 服务,那么我倾向于不以调试模式运行主机 - 然后添加服务引用,因为现在主机正在运行。

确实,如果您自己托管它并从富客户端使用它,那么您可以完全跳过所有配置,直接在 ChannelFactory 上使用接口 - 但这是另一回事...

【讨论】:

【解决方案2】:

您应该首先验证您的服务没有任何问题并且它已启动并正在运行。如果服务也在 WCF 中,那么您只需在浏览器中键入完整地址即可浏览服务,您应该能够看到服务页面。一旦您可以浏览,您可以使用添加引用或 svcutil 命令创建客户端/代理。

【讨论】:

  • 我展示了我所做的创建一个程序,带有一个表单项目,或者,添加 WCF 服务,(类,接口)但是现在当我在任务管理器中运行程序时我找不到我的服务,我现在没有什么问题
猜你喜欢
  • 2011-05-04
  • 1970-01-01
  • 1970-01-01
  • 2014-12-12
  • 1970-01-01
  • 2018-05-27
  • 1970-01-01
  • 1970-01-01
  • 2011-01-26
相关资源
最近更新 更多