WCF数据服务-如何诊断请求错误?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (21)

相当简单的类是日志消息(我希望诊断仪表板风格的客户机能够远程显示服务器日志,比如说,过去的24小时):

public class Message
{
    public string Source { get; set; }
    public MessageType Type { get; set; }
    public DateTime Timestamp { get; set; }
    public string MessageText { get; set; }
    public override string ToString()
    {
        return string.Format("[{0}] [{1}] [{2}] {3}", Timestamp.ToString(), Source, Type, MessageText);
    }
}

使用这个类会生成错误,而如果我将其指向一个类,我就会模拟为一个测试.

下面是我的服务定义和用于公开我想返回的集合的IQueryable<>实现的类(目前我只做了日志,它是List<Message>)

public class DataServiceFacade
{
    public IQueryable<Message> Log
    {
        get
        {
            return Program.Log.AsQueryable();
        }
    }
}

public class DataServiceHost : DataService<DataServiceFacade>
{
    public static void InitializeService(IDataServiceConfiguration config)
    {
        config.UseVerboseErrors = true;
        config.SetEntitySetAccessRule("*", EntitySetRights.All);
        config.SetServiceOperationAccessRule("*", ServiceOperationRights.All);
    }
}

提问于
用户回答回答于

要查看该消息的详细信息,需要将该行为修改为“include deExceptionDetailInFaults”。

可以更改配置文件中的行为。

<services>
    <service name="DataServiceHost"
             behaviorConfiguration="DataServiceBehavior">
        <endpoint name="DataServiceHost"
                  address=""
                  binding="webHttpBinding"
                  contract="System.Data.Services.IRequestHandler" />

    </service>
</services>
<behaviors>
    <serviceBehaviors>
        <behavior name="DataServiceBehavior">
            <serviceDebug includeExceptionDetailInFaults="true"/>
        </behavior>
    </serviceBehaviors>
</behaviors>

扫码关注云+社区