代码之家  ›  专栏  ›  技术社区  ›  J S

使用WCF服务-c#,VS2008和3.5 SP1

  •  1
  • J S  · 技术社区  · 17 年前

    2向svc文件添加了服务引用 三。在表单加载事件期间的代码隐藏中,我调用服务公开的方法

            ServiceReference1.SearchServiceClient search = new WindowsFormsApplication1.ServiceReference1.SearchServiceClient();
            var serviceResult = search.SearchByClientNumber("1");
    

    由于内部错误,服务器无法处理请求。有关错误的详细信息,请在服务器上启用IncludeExceptionDetailInFaults(从ServiceBehaviorAttribute或从配置行为),以便将异常信息发送回客户端,或者根据Microsoft.NET Framework 3.0 SDK文档启用跟踪并检查服务器跟踪日志。”

    我可以使用WCFTestClient调用该方法,但不能在我的应用程序中调用。

    我需要在我的测试应用程序配置文件中执行一些更改吗?这里有一个

    <client>
            <endpoint address="http://somewhere.com/Service.svc"
                binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_ISearchService"
                contract="ServiceReference1.ISearchService" name="BasicHttpBinding_ISearchService" />
        </client>
    
    2 回复  |  直到 17 年前
        1
  •  6
  •   Steve Dignan    17 年前

    当从服务中引发异常并且无法返回消息时,会发生此错误。

    如果您有权访问服务代码,只需按照异常状态(“ ... 启用IncludeExceptionDetailInFaults(从ServiceBehaviorAttribute或从配置行为)。。。 )以便调试。

    例子 <serviceBehaviors>

    <serviceBehaviors>
        <behavior name="WcfService1.Service1Behavior">
            <serviceDebug includeExceptionDetailInFaults="true"/>
        </behavior>
    </serviceBehaviors>
    

    指定服务行为的示例:

    <service name="WcfService1.Service1" behaviorConfiguration="WcfService1.Service1Behavior">
    

    here .

        2
  •  2
  •   Antonio Haley    17 年前

    <behaviors>
      <serviceBehaviors>
        <behavior name="serviceNameBehavior">
          <serviceDebug includeExceptionDetailInFaults="True" />
          </behavior>
      </serviceBehaviors>
    </behaviors>
    

    然后将服务与该行为相关联。

    <service name="serviceName" behaviorConfiguration="serviceNameBehavior" ...
    
    推荐文章