繁体   English   中英

找不到引用合同的默认端点元素 - 托管wcf

[英]Could not find default endpoint element that references contract - Hosting wcf

我在这个网站上有一个wcf服务http://wswob.somee.com/wobservice.svc

我尝试使用我的winform应用程序来使用该服务。 这是我创建服务即时时收到的错误

com.somee.wobservice.IwobserviceClient myservice = new com.somee.wobservice.IwobserviceClient();

错误:

Could not find default endpoint element that references contract
'com.somee.wobservice.Iwobservice' in the ServiceModel client configuration section. This 
might be because no configuration file was found for your application, or because no 
endpoint element matching this contract could be found in the client element.

我搜索并修改了我的app.config文件:

<system.serviceModel>
<behaviors>
  <endpointBehaviors>
    <behavior name="wobservice">
      <clientVia />
    </behavior>
  </endpointBehaviors>
</behaviors>

<client>
  <endpoint
      name="wobservice"
      address="http://wswob.somee.com/wobservice.svc"
      binding="webHttpBinding"
      contract="com.somee.wobservice"
      behaviorConfiguration="wobservice" />
</client>

</system.serviceModel>
</configuration>

和我在wcf文件夹中的web.config:

<system.serviceModel>
    <behaviors>
      <serviceBehaviors>
        <behavior>
          <serviceMetadata httpGetEnabled="true"/>

          <serviceDebug includeExceptionDetailInFaults="false"/>
        </behavior>
      </serviceBehaviors>

        <endpointBehaviors>
            <behavior name="Web">
                <webHttp/>
            </behavior>
        </endpointBehaviors>
    </behaviors>

      <serviceHostingEnvironment  multipleSiteBindingsEnabled="true">
          <baseAddressPrefixFilters>
              <add prefix="http://wswob.somee.com/"/>
          </baseAddressPrefixFilters>
      </serviceHostingEnvironment>

      <bindings>
          <webHttpBinding>
              <binding>
                  <security mode="None" />
              </binding>
          </webHttpBinding>
      </bindings>

      <protocolMapping>
           <add binding="basicHttpsBinding" scheme="https"/>
           <add binding="basicHttpBinding" scheme="http"/>
      </protocolMapping>

      <services>
           <service name="wobwcf.wobservice">
              <endpoint address="" 
                        binding="webHttpBinding" 
                        behaviorConfiguration="Web" 
                        contract="wobwcf.Iwobservice" />
           </service>
      </services>
   </system.serviceModel>

我不确定哪个部分出错了。 我对wcf的体验只有一周......

从库项目中的app.config复制system.serviceModel部分,并将其放在web.config和刷新服务引用中。 另见这个答案。 找不到默认端点元素

在WCF服务web.config文件中添加“WSHttpBinding”端点,如下所示

 <endpoint address="web" behaviorConfiguration="jsonBehavior" binding="webHttpBinding" bindingConfiguration="webHttpBindingWithJsonP" contract="DataService.IDataService"/>
 <endpoint address="" binding="wsHttpBinding" bindingConfiguration="wsHttpBinding" contract="DataService.IDataService"  />

并在您的app.config文件中编写如下代码

<system.serviceModel>
<bindings>
  <wsHttpBinding>
    <binding name="WSHttpBinding_IDataService" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647">
      <security mode="None" />
    </binding>
  </wsHttpBinding>
</bindings>
<client>
  <endpoint address="http://localhost/pricedataservice/DataService.svc" binding="wsHttpBinding"
      bindingConfiguration="WSHttpBinding_IDataService" contract="DataService.IDataService"
      name="WSHttpBinding_IDataService" />
</client>

我相信这将解决您的问题,并在博客下面将帮助您了解WCF服务中的不同类型的绑定

http://www.dotnet-tricks.com/Tutorial/wcf/VE8a200713-Understanding-various-types-of-WCF-bindings.html

在客户端web.config文件中添加客户端定义,如下所示;

 <system.serviceModel>
  /////
 <client>
         <endpoint  address="referencedurl"
          binding="webHttpBinding" bindingConfiguration=""
          contract="MemberService.IMemberService"
          name="MemberServiceEndPoint"
          behaviorConfiguration="Web">
      </endpoint>
 </client> 
////
 </system.serviceModel>

AND服务引用名称必须与Interfaces前缀相同。 contract =“ ReferenceName .IMemberService”

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM