Я занимаюсь разработкой wsdl- и client-first на C # с помощью WCF (wsdl и клиент уже существуют, я создаю серверную часть), и у меня возникла странная проблема. Я использовал wsdl.exe для создания контракта из моего .wsdl, и я могу создать его и разместить службу WCF как службу Windows.
Однако wsdl, который я получаю от http://localhost/Service?wsdl, предоставляет частные поля вместо общедоступных свойств. (например: вместо OsType
я получаю m_OsTypeField
, которая является частной переменной, связанной с общедоступным свойством OsType
.)
Вот атрибуты одного из классов, в которых возникла эта проблема: [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://xxxxxxx.com/")]
Я полностью озадачен, поскольку сериализатор .NET XML должен игнорировать любые частные члены. Есть идеи о том, почему это может происходить?