Was sind diese zusätzlichen Parameter in meinen ASMX-Proxy-Methoden?

8

Wenn ich einem WCF-Dienst eine Webreferenz von einem .NET 1.1-Client hinzufüge, enthalten die auf dem Client generierten Proxymethoden einen zusätzlichen Parameter, der mit dem Suffix 'Angegeben' für jeden Dienstmethodenparameter endet, z. B.

%Vor%

ergibt:

%Vor%

Meine Service-Parameter sind nicht optional, was sind diese zusätzlichen Parameter auf dem Client, und wie kann ich sie loswerden?

    
stovroz 17.02.2010, 22:06
quelle

4 Antworten

6

Dies liegt an einem Unterschied in den Serialisierungsmechanismen, die in WCF- und ASMX-Webdiensten verwendet werden. Um zusätzliche Parameter zu vermeiden, müssen Sie das XmlSerializerFormat-Attribut für ServiceContract angeben.

für hinzufügen lesen Sie dies: Ссылка

    
Arthur Smirnov 09.03.2010, 10:27
quelle
2

Das Problem tritt bei Parametern eines Werttyps auf, wenn sie nicht vorhanden sein dürfen. .NET 1.1 bietet keine Möglichkeit, dies ohne die Parameter *specified anzugeben. Sie müssen auf "true" gesetzt werden, um anzuzeigen, dass der entsprechende Parameter gesendet wird.

    
John Saunders 19.02.2010 02:44
quelle
1

.NET 1.1-Webdienste haben kein NULL-Konzept, daher erstellt WCF diese zusätzlichen Eigenschaften für Sie. fooSpecified = false bedeutet, dass foo wirklich null ist.

    
Daniel 17.02.2010 22:11
quelle
-1

Wahrscheinlich müssen Sie sicherstellen, dass Ihre Parameter erforderlich sind

%Vor%     
leeeroy 17.02.2010 22:11
quelle

Tags und Links