Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.NET WCF异常_.net_Wcf - Fatal编程技术网

.NET WCF异常

.NET WCF异常,.net,wcf,.net,Wcf,我已经创建了WCF+WF服务 我添加了绑定,并试图从测试应用程序中访问和执行WF,但是遇到这样的异常,这意味着什么?我如何解决它 由于内部错误,服务器无法处理该请求。有关错误的详细信息,请在服务器上启用IncludeExceptionDetailInFaults(从ServiceBehaviorAttribute或从配置行为),以便将异常信息发送回客户端,或者根据Microsoft.NET Framework 3.0 SDK文档打开跟踪,并检查服务器跟踪日志 谢谢这只是WCF针对服务器上的任

我已经创建了WCF+WF服务

我添加了绑定,并试图从测试应用程序中访问和执行WF,但是遇到这样的异常,这意味着什么?我如何解决它


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



谢谢

这只是WCF针对服务器上的任何故障发回的一般错误。正如错误消息所解释的,如果要查看实际错误,需要在服务器配置中打开
IncludeExceptionDetailInFaults
。此设置如下所示:

    <behaviors>
        <serviceBehaviors>
            <behavior name="My.ServiceBehaviour">
                <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />
                <dataContractSerializer maxItemsInObjectGraph="2147483647" />
                <serviceDebug includeExceptionDetailInFaults="true" />
            </behavior>
        </serviceBehaviors>
    </behaviors>
<behaviors>
  <serviceBehaviors>
    <behavior name="ServiceBehavior">
      <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />
      <serviceDebug includeExceptionDetailInFaults="true" />
    </behavior>
  </serviceBehaviors>
<system.diagnostics>
  <sources>
    <source name="System.ServiceModel" switchValue="Error,ActivityTracing" propagateActivity="true">
      <listeners>
        <add name="traceListener" type="System.Diagnostics.XmlWriterTraceListener" initializeData="LFFServicesHost.svclog" />
      </listeners>
    </source>
  </sources>
</system.diagnostics>


然后,WCF将返回实际错误。

这只是WCF因服务器上的任何故障而发回的一般错误。正如错误消息所解释的,如果要查看实际错误,需要在服务器配置中打开
IncludeExceptionDetailInFaults
。此设置如下所示:

    <behaviors>
        <serviceBehaviors>
            <behavior name="My.ServiceBehaviour">
                <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />
                <dataContractSerializer maxItemsInObjectGraph="2147483647" />
                <serviceDebug includeExceptionDetailInFaults="true" />
            </behavior>
        </serviceBehaviors>
    </behaviors>
<behaviors>
  <serviceBehaviors>
    <behavior name="ServiceBehavior">
      <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />
      <serviceDebug includeExceptionDetailInFaults="true" />
    </behavior>
  </serviceBehaviors>
<system.diagnostics>
  <sources>
    <source name="System.ServiceModel" switchValue="Error,ActivityTracing" propagateActivity="true">
      <listeners>
        <add name="traceListener" type="System.Diagnostics.XmlWriterTraceListener" initializeData="LFFServicesHost.svclog" />
      </listeners>
    </source>
  </sources>
</system.diagnostics>


然后,WCF将返回实际错误。

要将异常发送到客户端,以便您可以在那里查看异常详细信息,请将serviceDebug部分添加到您的行为中,如下所示:

    <behaviors>
        <serviceBehaviors>
            <behavior name="My.ServiceBehaviour">
                <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />
                <dataContractSerializer maxItemsInObjectGraph="2147483647" />
                <serviceDebug includeExceptionDetailInFaults="true" />
            </behavior>
        </serviceBehaviors>
    </behaviors>
<behaviors>
  <serviceBehaviors>
    <behavior name="ServiceBehavior">
      <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />
      <serviceDebug includeExceptionDetailInFaults="true" />
    </behavior>
  </serviceBehaviors>
<system.diagnostics>
  <sources>
    <source name="System.ServiceModel" switchValue="Error,ActivityTracing" propagateActivity="true">
      <listeners>
        <add name="traceListener" type="System.Diagnostics.XmlWriterTraceListener" initializeData="LFFServicesHost.svclog" />
      </listeners>
    </source>
  </sources>
</system.diagnostics>

可以按如下方式打开跟踪:

    <behaviors>
        <serviceBehaviors>
            <behavior name="My.ServiceBehaviour">
                <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />
                <dataContractSerializer maxItemsInObjectGraph="2147483647" />
                <serviceDebug includeExceptionDetailInFaults="true" />
            </behavior>
        </serviceBehaviors>
    </behaviors>
<behaviors>
  <serviceBehaviors>
    <behavior name="ServiceBehavior">
      <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />
      <serviceDebug includeExceptionDetailInFaults="true" />
    </behavior>
  </serviceBehaviors>
<system.diagnostics>
  <sources>
    <source name="System.ServiceModel" switchValue="Error,ActivityTracing" propagateActivity="true">
      <listeners>
        <add name="traceListener" type="System.Diagnostics.XmlWriterTraceListener" initializeData="LFFServicesHost.svclog" />
      </listeners>
    </source>
  </sources>
</system.diagnostics>


然后打开LFFServicesHost.svclog文件。这将显示失败的详细信息。

要将异常发送到客户端,以便您可以在那里查看异常详细信息,请将serviceDebug部分添加到您的行为中,如下所示:

    <behaviors>
        <serviceBehaviors>
            <behavior name="My.ServiceBehaviour">
                <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />
                <dataContractSerializer maxItemsInObjectGraph="2147483647" />
                <serviceDebug includeExceptionDetailInFaults="true" />
            </behavior>
        </serviceBehaviors>
    </behaviors>
<behaviors>
  <serviceBehaviors>
    <behavior name="ServiceBehavior">
      <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />
      <serviceDebug includeExceptionDetailInFaults="true" />
    </behavior>
  </serviceBehaviors>
<system.diagnostics>
  <sources>
    <source name="System.ServiceModel" switchValue="Error,ActivityTracing" propagateActivity="true">
      <listeners>
        <add name="traceListener" type="System.Diagnostics.XmlWriterTraceListener" initializeData="LFFServicesHost.svclog" />
      </listeners>
    </source>
  </sources>
</system.diagnostics>

可以按如下方式打开跟踪:

    <behaviors>
        <serviceBehaviors>
            <behavior name="My.ServiceBehaviour">
                <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />
                <dataContractSerializer maxItemsInObjectGraph="2147483647" />
                <serviceDebug includeExceptionDetailInFaults="true" />
            </behavior>
        </serviceBehaviors>
    </behaviors>
<behaviors>
  <serviceBehaviors>
    <behavior name="ServiceBehavior">
      <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />
      <serviceDebug includeExceptionDetailInFaults="true" />
    </behavior>
  </serviceBehaviors>
<system.diagnostics>
  <sources>
    <source name="System.ServiceModel" switchValue="Error,ActivityTracing" propagateActivity="true">
      <listeners>
        <add name="traceListener" type="System.Diagnostics.XmlWriterTraceListener" initializeData="LFFServicesHost.svclog" />
      </listeners>
    </source>
  </sources>
</system.diagnostics>


然后打开LFFServicesHost.svclog文件。这将显示失败的详细信息。

我已经添加了代码,但由于某些原因,它仍然返回相同的错误。@WildGoat您可以发布配置部分吗?是否在端点上设置服务行为?我已经添加了代码,但由于某些原因,它仍然返回相同的错误。@WildGoat能否发布配置部分?是否在端点上设置服务行为?我添加了代码,但由于某些原因,它仍然返回相同的错误。是的,您仍然会收到错误-但如果包含异常信息,您可以在调试模式下加载客户端并查找异常详细信息。我添加了代码,但是由于某些原因,它仍然返回相同的错误。是的,您仍然会得到错误-但是在包含异常信息的情况下,您可以在调试模式下加载您的客户机并找到异常详细信息。