无法在wcf客户端app.config错误中找到端点元素(自托管)

时间:2012-05-30 11:37:25

标签: wcf wcf-data-services wcf-binding wcf-client

<configuration>
    <system.serviceModel>
        <bindings>
            <basicHttpBinding>
                <binding name="ep1" closeTimeout="00:01:00" openTimeout="00:01:00"
                    receiveTimeout="00:10:00" sendTimeout="00:01:00" allowCookies="false"
                    bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
                    maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
                    messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
                    useDefaultWebProxy="true">
                    <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
                        maxBytesPerRead="4096" maxNameTableCharCount="16384" />
                    <security mode="None">
                        <transport clientCredentialType="None" proxyCredentialType="None"
                            realm="" />
                        <message clientCredentialType="UserName" algorithmSuite="Default" />
                    </security>
                </binding>
            </basicHttpBinding>
        </bindings>
        <client>
            <endpoint address="http://localhost:57582/Service1.svc" binding="basicHttpBinding"
                bindingConfiguration="ep1" contract="ServiceReference1.IService1"
                name="ep1" />
        </client>
    </system.serviceModel>
</configuration>

这是我在自动生成的app.config文件中对客户端端点的配置,但仍然出现以下错误: 无法在ServiceModel客户端配置部分中找到名称为“ep1”且合同为“ServiceReference1.IService1”的端点元素。这可能是因为没有为您的应用程序找到配置文件,或者因为在客户端元素中找不到与此名称匹配的端点元素。

我正在使用::

来使用该服务
Service1Client wcf = new Service1Client("ep1")

enter image description here


它现在正在工作。我刚刚从自动生成的app.config文件中定义了整个解决方案的web.config中的客户端端点。现在正在工作。

2 个答案:

答案 0 :(得分:1)

如果这是一个Windows应用程序项目,则需要添加一个“应用程序配置文件”(保留名称为app.config),如果项目的根目录中已有一个,则没问题。

如果它是一个网络项目 - 那么你需要定位它的web.config。

接下来,将上面的配置复制到该配置,然后重建并运行。它应该可以工作。

答案 1 :(得分:0)

几乎可以肯定的是,您正在运行的代码是从未定义此端点的配置文件中读取的。您确定要从构建输出位置查看配置文件吗?

我的猜测是你需要在配置文件中设置copy local = true。