打开服务器上的 IncludeExceptionDetailInFaults (从 ServiceBehaviorAttribute 或从 <serviceDebug> 配置行为)以便将异常信息发送回

在调试wcf程序的时候,有时会遇到下面的错误:

System.ServiceModel.FaultException: 由于内部错误,服务器无法处理该请求。有关该错误的详细信息,请打开服务器上的 IncludeExceptionDetailInFaults (从 ServiceBehaviorAttribute 或从 <serviceDebug> 配置行为)以便将异常信息发送回客户端,或在打开每个 Microsoft .NET Framework 3.0 SDK 文档的跟踪的同时检查服务器跟踪日志。
Server stack trace:
   在 System.ServiceModel.Channels.ServiceChannel.ThrowIfFaultUnderstood(Message reply, MessageFault fault, String action, MessageVersion version, FaultConverter faultConverter)
   在 System.ServiceModel.Channels.ServiceChannel.HandleReply(ProxyOperationRuntime operation, ProxyRpc& rpc)
   在 System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
   在 System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
   在 System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)

Exception rethrown at [0]:
   在 System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
   在 System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
   //部分程序提示信息,省略
---------------------------
确定
---------------------------

具体原因就是,在wcf的服务端

 <serviceDebug includeExceptionDetailInFaults="false"/>

设置为false了,修改为true,就可以在客户端看到具体的错误信息了,修改后的配置文件如下:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.web>
    <compilation debug="true" targetFramework="4.0" />
  </system.web>
  <system.serviceModel>
    <behaviors>
      <serviceBehaviors>
        <behavior>
          <!-- 为避免泄漏元数据信息,请在部署前将以下值设置为 false 并删除上面的元数据终结点 -->
          <serviceMetadata httpGetEnabled="true"/>
          <!-- 要接收故障异常详细信息以进行调试,请将以下值设置为 true。在部署前设置为 false 以避免泄漏异常信息 -->
          <serviceDebug includeExceptionDetailInFaults="true"/>
        </behavior>
      </serviceBehaviors>
    </behaviors>
    <serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
  </system.serviceModel>
 <system.webServer>
    <modules runAllManagedModulesForAllRequests="true"/>
  </system.webServer>
</configuration>
时间: 2024-10-11 23:57:55

打开服务器上的 IncludeExceptionDetailInFaults (从 ServiceBehaviorAttribute 或从 <serviceDebug> 配置行为)以便将异常信息发送回的相关文章

【小马待修改】客户机远程打开服务器上的光驱

客户端: 1 #include<stdio.h> 2 #include<winsock2.h> 3 #pragma comment (lib,"ws2_32") 4 int main(int argc,char *argv[]) 5 { 6 7 WSADATA wsaData; 8 WSAStartup(MAKEWORD(2,2),&wsaData); 9 10 SOCKET s=socket(PF_INET,SOCK_STREAM,IPPROTO_TC

PHP绿色集成环境在服务器上的应用,PHPWAMP在服务器上搭建网站。

Windows下的Apache+Mysql+PHP,称为WAMP. 本文案例采用的PHP集成环境是我最新发布的新版本PHPWAMP8.1.8.8. 我集成的相关组件都是完全版的,适合本地调试,也适合用在服务器上. PHP集成环境如何在服务器上搭建网站,下面我将提供详细的操作步骤图. ------------------------------------------------------------------------------------------------------------

Microsoft Dynamics CRM 2011 面向Internet部署 (IFD) ADFS虚拟机环境搭建的步骤(CRM与ADFS装在同一台服务器上) 摘自网络

1: 安装windows server 2008 R2 中文版 (过程略) 安装完成后设置机器名和IP地址, 本过程机器名 crm5dev,192.168.0.110 dns: 192.168.0.110(本机) Administrator/[email protected] 2: 通过服务器管理器添加域服务,配置域服务器域名为crm5.lab. 注意:使用高级模式安装. 说明:服务器是windows server 2003 那么就选windows server 2003 服务器是windows

修复服务器上出现ImportError: cannot import name main的问题

在服务器上成功升级pip2之后再运行pip2命令出现如下报错信息 Traceback (most recent call last): File "/usr/bin/pip2.7", line 7, in <module> from pip import main ImportError: cannot import name main 方法一 上网查了好久,一般都是说要修改/usr/bin路径下的pip文件,原文件内容如下: # -*- coding: utf-8 -*-

无法在web服务器上启动调试。打开的URL的IIS辅助进程当前没有运行。

调试时弹出:无法在web服务器上启动调试.打开的URL的IIS辅助进程当前没有运行. 解决方法: 1.可能是计算机本身的身份验证没开启,:控制面板- >程序- >把Windows功能或关闭- >Internet信息服务——>万维网服务- >安全性- > 选中Windows身份验证: 2.可能是IIS上的身份验证没有开启,:Internet信息服务(IIS)管理器- >选中当前的网站- >打开身份验证- >启用windows身份验证:

Bootstrap做的HTML页面在本地IE打开正常,放到服务器上显示就不正常了

<meta name="renderer" content="webkit"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> 浏览器默认开启兼容模式的问题,很多CSS3内容不支持,一般输入上面两行代码可以解决 作者:hu Hua链接:http://www.zhihu.com/question/24674452/answer/28658889来

解决Win10 中打开VS2012 出现“ASP.NET 4.0 尚未在 Web 服务器上注册”

系统升级为win10后,在使用vs2012打开原来的项目时,会出现"ASP.NET 4.0 尚未在 Web 服务器上注册"的问题,如图: 想到在win8.1系统下,也出现过同样的问题,就直接使用命令提示符工具注册ASP.NET4.0,以管理员身份运行命令提示符工具并执行以下代码 C:\WINDOWS\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i 执行后,发下这种方式不管用了,头疼 按照提示在Windows功能中安装I

未备案域名打开国内服务器上的网站(绑定国外空间并判断url后跳转引用)

场景:由于域名没备案不能绑定国内服务器,通过先绑定国外空间,在空间着陆页判断当前url,打开不同的页面.页面上通过iframe引用国内服务器上的目标网站. 实现:未备案域名打开国内服务器上的网站. 国外空间着陆页: <?php switch ($_SERVER["HTTP_HOST"]) { case "www.abc.com": header("location:abc.html"); break; case "aaa.cc&q

eclipse远程debug服务器上的项目(Tomcat),打开、关闭及常见错误汇总

我们工作中,有时候测试/生产环境,出现的结果会与我们预计的不一样,只看代码又看不出去问题所在,这个时候就需要远程debug下服务器上的项目. 注意:(1)需要debug的代码,本机代码需与服务器上一致.(2)保证服务器下开了允许远程debug的端口 一.打开远程debug 1.右击要debug的项目,Run As ->Debug Configurations,找到Remove Java Application,如下: 填下远程主机IP和端口 备注:如何找预留的debug端口:一般而言,找到对应项