如何从ASP.net webservice传递<summary>?</summary>

时间:2013-11-20 09:40:00

标签: c# asp.net web-services

我正在尝试将Web服务类记录到C#应用程序。

public class Container
    {

        private Dictionary<String, Object> _properties = new Dictionary<string, object>();

        private Boolean _changed;
        public Boolean Changed
        {
            get
            {
                return _changed;
            }
            set
            {
                _changed = value;
            }
        }

        // Human Readable fields

        public Object this[String Name]
        {
            get
            {
                if (_properties.ContainsKey(Name))
                    return _properties[Name];
                return null;
            }
            set
            {
                if (!_properties.ContainsKey(Name))
                    _properties.Add(Name, value);
                else
                {
                    _properties[Name] = value;
                    _changed = true;
                }
            }
        }

        #region Fields

        /// <summary>
        /// Field: RCPAKN
        /// </summary>
        public String ContainerNumber
        {
            get { return (String)this["RCPAKN"]; }
            set { this["RCPAKN"] = value; }
        }
...

您会看到:我尝试传递<summary>信息,但这不会被提起 通过调用webservice的C#应用​​程序。 (不在对象浏览器中,在Intellisense期间不显示...)

是的,我已发布了webservice并更新了webreference ..;)

这是不可能的,还是我必须在网络服务中添加一些参数?

谢谢

修改

- 使用VS.Net 2010构建的webservice,消耗来自VS.Net 2008(CF3.5)
(该信息确实显示在VS.Net 2010对象浏览器... IDE功能中?)

1 个答案:

答案 0 :(得分:2)

XML文档未编译到代码中,因此无法在应用程序中使用它,更不用说通过Web服务了。

一种可能性是开发自定义属性(如DescriptionAttribute),并实现WSDL导入/导出扩展,但这非常困难。

我通常做的就是这个。当我开发服务时,我使用WCF并使用[ServiceContract]属性创建服务接口。我把XML文档放在服务方法上。我的实际WCF服务实现了这个接口。我把这个接口和数据类放在一个单独的程序集中。我还将一个WCF客户端放入此程序集中,该程序集公开了此接口。在我的使用者项目中,我没有添加服务引用,而是向这个公共程序集添加常规程序集引用,并从那里使用WCF客户端,这样,我就可以在Visual Studio中看到XML文档。拥有这样的通用服务 - 客户端程序集是恕我直言的好习惯,并且查看“另一方”的文档是一个幸运的副作用。