Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/339.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
针对xsd文件进行C#对象验证_C#_Xml_Wcf_Xsd - Fatal编程技术网

针对xsd文件进行C#对象验证

针对xsd文件进行C#对象验证,c#,xml,wcf,xsd,C#,Xml,Wcf,Xsd,问题是,我是否可以在不将c#对象序列化为xml的情况下根据xsd验证该对象?如果是,请给我一些快速样品 只是给你介绍一下。我得到了对外部WCF服务的引用,并得到了一些xsd文件。我收到了此服务的一些代理对象请求/响应。在服务使用者端(只是类库),我想根据提供的xsd验证响应(c#对象)。在不序列化对xml的响应的情况下,我可以这样做吗 public Response Consume(Request message) { try {

问题是,我是否可以在不将c#对象序列化为xml的情况下根据xsd验证该对象?如果是,请给我一些快速样品

只是给你介绍一下。我得到了对外部WCF服务的引用,并得到了一些xsd文件。我收到了此服务的一些代理对象请求/响应。在服务使用者端(只是类库),我想根据提供的xsd验证响应(c#对象)。在不序列化对xml的响应的情况下,我可以这样做吗

    public Response Consume(Request message)
    {
        try
        {
            ServiceClient serviceClient = new ServiceClient();
            var response = serviceClient.Execute(message);

            // Here I would like to validate response without serializing against xsd 

            return response;
        }
        catch (FaultException<ValidationFault> validationException)
        {
            throw validationException;
        }
    }
公共响应消耗(请求消息)
{
尝试
{
ServiceClient ServiceClient=新ServiceClient();
var response=serviceClient.Execute(消息);
//在这里,我想验证响应,而不针对xsd序列化
返回响应;
}
捕获(FaultException validationException)
{
抛出validationException;
}
}

您尝试了什么?你能把你的密码寄出去吗?什么不起作用?@nilsK我粘贴了代码。我不明白,为什么不获取响应对象的xml并根据xsd进行验证,有什么特殊原因吗?Xsd是验证xml数据的模式,而不是对象。