我正在尝试将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功能中?)
答案 0 :(得分:2)
XML文档未编译到代码中,因此无法在应用程序中使用它,更不用说通过Web服务了。
一种可能性是开发自定义属性(如DescriptionAttribute),并实现WSDL导入/导出扩展,但这非常困难。
我通常做的就是这个。当我开发服务时,我使用WCF并使用[ServiceContract]属性创建服务接口。我把XML文档放在服务方法上。我的实际WCF服务实现了这个接口。我把这个接口和数据类放在一个单独的程序集中。我还将一个WCF客户端放入此程序集中,该程序集公开了此接口。在我的使用者项目中,我没有添加服务引用,而是向这个公共程序集添加常规程序集引用,并从那里使用WCF客户端,这样,我就可以在Visual Studio中看到XML文档。拥有这样的通用服务 - 客户端程序集是恕我直言的好习惯,并且查看“另一方”的文档是一个幸运的副作用。