0
<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")

在此处输入图像描述


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

4

2 回答 2

1

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

如果它是一个 Web 项目 - 那么您需要将其定位为 web.config。

接下来,将上述配置复制到该配置,然后重新构建并运行。然后它应该工作。

于 2012-05-30T12:41:28.407 回答
0

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

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

于 2012-05-30T12:37:16.553 回答