如何强制C#web服务对象属性中的最大字符串长度?
例如,在这个类中,我想强制限制名字/姓氏允许的字符数如何强制C#web服务对象属性中的最大字符串长度?,c#,web-services,soap,.net-2.0,xml-serialization,C#,Web Services,Soap,.net 2.0,Xml Serialization,例如,在这个类中,我想强制限制名字/姓氏允许的字符数 public class Person { public string FirstName { get; set; } public string LastName { get; set; } } 是否有办法强制对名字或姓氏进行字符串限制,因此当客户端在将其发送给我之前序列化时,,如果它违反了长度限制,它将抛出一个错误 更新:这需要在WSDL本身中识别和强制执行,而不是在我接收到无效数据之后。从自动属性转换属性并自己验证
public class Person
{
public string FirstName { get; set; }
public string LastName { get; set; }
}
是否有办法强制对名字或姓氏进行字符串限制,因此当客户端在将其发送给我之前序列化时,,如果它违反了长度限制,它将抛出一个错误
更新:这需要在WSDL本身中识别和强制执行,而不是在我接收到无效数据之后。从自动属性转换属性并自己验证,然后您可以抛出参数异常或提交之前必须处理的类似事件
注意:如果.NET以外的语言将调用,您很可能也希望在服务端验证它。或者在minimun测试中查看它在另一种语言中的工作方式。您可以使用以下方法应用XML模式验证(例如maxLength方面):
[ValidationSchema(“person.xsd”)]
公共类人物{/*…*/}
坏死时间。。。不过值得一提
using System.ComponentModel.DataAnnotations;
public class Person
{
[StringLength(255, ErrorMessage = "Error")]
public string FirstName { get; set; }
[StringLength(255, ErrorMessage = "Error")]
public string LastName { get; set; }
}
using System.ComponentModel.DataAnnotations;
public class Person
{
[StringLength(255, ErrorMessage = "Error")]
public string FirstName { get; set; }
[StringLength(255, ErrorMessage = "Error")]
public string LastName { get; set; }
}