Ich habe eine Anwendung, bestehend aus zwei asp.net-Projekten. Und ich habe eine BasePage, die System.Web.UI.Page
erbt und die Klasse einige Kernlogik habe, die ich auf allen meinen Seiten benötige (implementiert in BasePage.cs
). So erben alle meine Seiten dieses BasePage.cs
. Nun kann ein Webservice die gleiche Klasse erben, abgesehen von der normalen Webservice-Klasse System.Web.Services.WebService
Kann eine Webservice-Klasse asp.net-Seitenklasse erben
Antwort
Mehrfachvererbung wird im .NET-Framework nicht unterstützt. Und selbst wenn es so wäre, würde diese Art der Implementierung kaum als gute Praxis bezeichnet werden.
Alle Methoden, die von den Webseiten aufgerufen werden, sowie die Webservice-Seiten sollten in zusätzliche Klassen eingeteilt werden.
Ansichten und Dienste sollten vollständig getrennt sein. Dienste sollten nichts über Seiten wissen. Ich würde sagen, Sie sollten nicht, wenn Sie könnten.
Normalerweise erben alle asp.net-Webseiten "System.Web.UI.Page". Aber in Ihrem Fall haben Sie eine Basisklasse, die die Klasse "System.Web.UI.Page" erbt, dann verwenden Sie diese Basisklasse für alle asp.net Webseiten keine Probleme. Die Basisklasse des Web-Service lautet "System.Web.Services.WebService". Wenn Sie also einen Web-Service verwenden, sollten Sie die Klasse dieses Web-Service erben. Sie können Ihre Basisklasse (BasePage.cs) nicht für Ihren Webdienst verwenden.
Jede Logik, die sowohl von einer Webseite als auch von einem Webdienst verwendet werden kann, sollte in einer separaten Klasse enthalten sein, die von beiden verwendet werden kann. Eine solche Logik darf nicht davon abhängen, Teil einer Benutzeroberfläche zu sein.
Setzen Sie es in eine statische Klasse und haben Sie sowohl den Dienst als auch die Seiten verwenden.
- 1. Kann ich eine erb-Vorlage erben?
- 2. Kann eine Seite mehrere Masterseiten? (ASP.NET) erben
- 3. erben eine statische Klasse
- 4. kann eine ASPX-Seite mehr als eine aspx.cs-Klasse erben?
- 5. Sollte eine Schnittstelle eine andere Schnittstelle erben
- 6. Kann eine verschachtelte C++ - Klasse ihre umschließende Klasse erben?
- 7. Kann eine Ruby-Klassenmethode von einer anderen Klasse erben?
- 8. Kann eine Klasse von System.Web.UI.Page und System.Web.UI.UserControl erben?
- 9. Kann ich nur eine Methode in Erben überschreiben?
- 10. Kann eine Mitgliedsklasse von ihrem übergeordneten Element erben?
- 11. Kann eine C# -Klasse Attribute von ihrer Schnittstelle erben?
- 12. Kann ein virtualenv von einem anderen erben?
- 13. kann nicht erben und überschreiben ArrayAdapter
- 14. Wie kann ein Objekt einen Wert erben?
- 15. PHP5-Klassen: eine komponierte Klasse erben?
- 16. Welche sollte welche erben?
- 17. Python-Klassenmethoden erben?
- 18. Javascript, Prototyp nicht erben
- 19. F # Datensatz erben
- 20. Gradle - erben Produktgeschmack
- 21. Iframe erben von Eltern
- 22. Erben Vektoren und Initialisierung
- 23. Nur ändern beim Erben
- 24. PHP Klasse erben Codeigniter
- 25. erben von FileSystemWatcher
- 26. WPF - erben von System.Windows.Application
- 27. Freundschaft in C++ erben?
- 28. Linux Mutex Priorität erben
- 29. Dateiberechtigungen erben keine Verzeichnisberechtigungen
- 30. Verwenden mehrerer Erben der Aktivität