【问题标题】:Accessors: Get and Set distinct data types访问器:获取和设置不同的数据类型
【发布时间】:2014-05-29 14:34:29
【问题描述】:

这是问题的一些背景:我正在使用 SOAP Web 服务,但我遇到了日期类型的一些问题。我还没有开发 Web 服务,因此我无法完全理解它们。我有一个有两种方法的网络服务:getCountrysetCountry。必填字段之一是beginDateField。问题是,当我调用getCountry 方法时,我得到一个error in XML - 就是这个。我认为它可能与日期字段有关,为了解决问题,我访问了解决方案资源管理器中服务参考下的 reference.cs 文件,并将它的 DateTime 更改为 string: 并且它工作得很好当我想从网络服务中获取国家/地区时。发生的情况是,当我想调用 setCountry 方法时,C# 要求我输入一个字符串,但 WebService 需要一个 DateTime

现在是具体问题 - 我有这段代码:

    private string beginDateField;

    (...)

    public string beginDate {
        get {
            return this.beginDateField;
        }
        set {
            this.beginDateField = value;
        }
    }

我需要将beginDateField 设置为DateTime,我已经尝试过:

    set {
        this.beginDateField = Convert.ToDateTime(value);
    }

但我得到一个错误:

有什么想法吗?

谢谢

(编辑)

这是最初的错误,它让我首先更改了reference.cs 文件。

错误是葡萄牙语,上面写着There is an error in the XML document (1, 1274)

【问题讨论】:

  • 看来,您必须指定您使用的日期的格式;见DateTime.ParseExact
  • 很抱歉,我不知道怎么做。格式验证应该在 web 服务端。从客户端,DateTime 应该传递而不考虑它的具体格式(之后由 web 服务进行验证)
  • 在客户端违反与您的 Web 服务的合同将一事无成。 Web 服务需要一个 DateTime,而您无法通过修改 reference.cs 来更改它。您为什么不告诉我们您最初遇到的哪些错误促使您更改了 reference.cs?
  • 嗨@Steve,我编辑了我的帖子,原来的错误是:There is an error in the XML document

标签: c# .net web-services datetime soap


【解决方案1】:

看起来字符串的格式保存在 beginDate 属性内的“值”中,由于您收到 System.FormatException,格式不正确。

有关 FormatException 的更多信息: http://www.dotnetperls.com/formatexception

请您在 beginDate 属性中发布传递给 set 方法的确切值。

以下是有关 DateTime 字符串格式的更多信息: http://www.csharp-examples.net/string-format-datetime/

希望这有助于解决您的问题。如果没有请回复我:)

【讨论】:

  • 没有传值,编码时出错,我连编译都编译不出来
猜你喜欢
  • 2010-11-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多