Я пытаюсь реализовать SOAP-сервис в ASP.NET с использованием C#, чтобы я мог использовать его с помощью Flex, но это следующий шаг. Проблема у меня в том, что я пытаюсь общаться с классом на стороне сервера, который имеет XmlNamespaceManager
поле внутри [Serializable]
класса:ASP.NET Web Service игнорирует [NonSerialized] hook
[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 должны иметь реализацию Добавить (System.Object) на всех уровнях их наследования иерархия. System.Xml.XmlNamespaceManager не реализует Add (System.Object).
Теперь, я знаю, что XmlNamespaceManager
s не сериализации, поэтому я попытался указать на это, но что-то происходит наперекосяк, и я не знаю, что делать.
Помогите, пожалуйста? : D
Кроме того, я также попытался создать собственный XmlNamespaceManager, который наследует оригинал и реализует 'Add', но, конечно же, оригинал все еще не реализует' Add'. –