Frage

Ich arbeite an einem Projekt, wo ich zwei Web-Services, die die gleiche Einheit benötigen. Der zwei Web-Service ist auf dem gleichen Server so auf dem Back-End, sie die gleichen Klassen teilen.

Auf der Front-End-Seite, mein Code verbraucht beide Web-Service und sehen die Einrichtungen aus beiden Diensten als separates (in einer anderen Namensraum), so kann ich nicht die Einheit über beiden Dienste nutzen.

Kennt jemand eine Möglichkeit, dies zu ermöglichen, arbeitet in .NET 2.0?

Ich habe dies getan, mit meiner Person:

[XmlType(TypeName = "Class1", Namespace = "myNamespace")]
public class Class1
{
    public int field;
}

die Hoffnung, dass meine IDE würden irgendwie „wissen“, dass die Klasse das gleiche auf beide Web-Service ist so, dass es nicht getrennte Einheiten für beiden Klassen schaffen würde, aber kein Glück.

Ist das möglich mit .NET 2.0 Web-Service zu tun?

War es hilfreich?

Lösung

Ich denke, dass Sie das von innen VS nicht tun können, aber Sie können manuell den wsdl.exe Dienstprogramm wie folgt verwenden:

wsdl.exe /sharetypes http://localhost/MyService1.asmx?wsdl http://localhost/MyService2.asmx?wsdl

Beachten Sie die /sharetypes Option, die auf dem Typ-Sharing-Funktion schaltet. Diese Funktion erstellt eine Codedatei mit einer einzigen Typdefinition für identische Typen zwischen den verschiedenen Diensten geteilt (Namespace, den Namen und Draht Unterschrift müssen identisch sein).

Weitere Informationen:

Andere Tipps

Ich bin mir nicht sicher über die Implementierungsdetails mit .NET 2.0, aber ich glaube, was Sie tun möchten, ist die gemeinsame Klassen in einer separaten XSD-Datei setzen und beziehen sich auf es aus Ihren zwei WSDL sind. Auf diese Weise haben die gängigen Typen den gleichen Namensraum zwischen den beiden Diensten.

Nun, wie Sie dies tun in .NET 2.0 Ich könnte Ihnen nicht geben, die Besonderheiten auf ...

Können Sie den Namensraum des Unternehmens überprüfen? Stellen Sie sicher, dass es das gleiche in den beiden Web-Services ist.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top