二、解决方法
扩展TimeSpan:
1: public class TimeSpanEx
2: {
3: [XmlElement(ElementName = "TimeSpan")]
4: public string TimeSpanAsString
5: {
6: get { return TimeSpan != null ? TimeSpan.ToString() : null; }
7: set
8: {
9: TimeSpan span;
10: if (value != null && TimeSpan.TryParse(value, out span))
11: TimeSpan = span;
12: else
13: TimeSpan = new TimeSpan();
14: }
15: }
16: [XmlIgnore]
17: public TimeSpan TimeSpan { get; set; }
18: }
2: {
3: [XmlElement(ElementName = "TimeSpan")]
4: public string TimeSpanAsString
5: {
6: get { return TimeSpan != null ? TimeSpan.ToString() : null; }
7: set
8: {
9: TimeSpan span;
10: if (value != null && TimeSpan.TryParse(value, out span))
11: TimeSpan = span;
12: else
13: TimeSpan = new TimeSpan();
14: }
15: }
16: [XmlIgnore]
17: public TimeSpan TimeSpan { get; set; }
18: }
通过TimeSpan传递TimeSpan:
1: [WebMethod]
2: public string HelloWorld(TimeSpanEx span)
2: public string HelloWorld(TimeSpanEx span)
3: {
4: return "Hello World";
5: }
6:
4: return "Hello World";
5: }
6:
客户端使用示例:
1: WebService1SoapClient client = new WebService1SoapClient();
2: TimeSpanEx span = new TimeSpanEx();
3: span.TimeSpan = new TimeSpan(1, 2, 3).ToString();
4: client.HelloWorld(span);
5:
2: TimeSpanEx span = new TimeSpanEx();
3: span.TimeSpan = new TimeSpan(1, 2, 3).ToString();
4: client.HelloWorld(span);
5:
服务端获取的TimeSpan结果: 