<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")
它现在正在工作。我刚刚从自动生成的app.config文件中定义了整个解决方案的web.config中的客户端端点。现在正在工作。
答案 0 :(得分:1)
如果这是一个Windows应用程序项目,则需要添加一个“应用程序配置文件”(保留名称为app.config),如果项目的根目录中已有一个,则没问题。
如果它是一个网络项目 - 那么你需要定位它的web.config。
接下来,将上面的配置复制到该配置,然后重建并运行。它应该可以工作。
答案 1 :(得分:0)
几乎可以肯定的是,您正在运行的代码是从未定义此端点的配置文件中读取的。您确定要从构建输出位置查看配置文件吗?
我的猜测是你需要在配置文件中设置copy local = true。