我正在尝试使用 C# 在 ASP.NET 中实现 SOAP 服务,这样我就可以使用 Flex 来使用它——但这是下一步。我遇到的问题是我正在尝试与在类中有一个XmlNamespaceManager
字段的服务器端类进行通信[Serializable]
:
[Serializable]
public class Site {
...
public XmlNamespaceManager xmlNS;
...
}
我尝试将[NonSerialized]
钩子附加到有问题的字段上,但我的 SOAP 服务似乎没有遵守我的指示。这是服务:
public class DotNetWikiService : WebService
{
[WebMethod]
public Article doWork(Site ws, String title)
{
Page thePage = new Page(ws, title);
thePage.Load();
if (thePage.Exists() == false)
{
return new Article(title, "Wiki page contents are empty.");
}
return new Article(title, thePage.text);
}
}
这是我尝试运行 .asmx 文件时遇到的错误:
要实现 XML 可序列化,从 IEnumerable 继承的类型必须在其继承层次结构的所有级别上都有 Add(System.Object) 的实现。System.Xml.XmlNamespaceManager 未实现 Add(System.Object)。
现在,我知道XmlNamespaceManager
s 是不可序列化的,所以我试图指出这一点,但是出了点问题,我不知道该怎么办。
请帮忙?:D