Frage

Ich richte meine Website ein, um Informationen von Personen per SMS zu erhalten. Die Art und Weise, wie es funktioniert, schreibt eine Nummer, in der der Dienst dann einen HTTP -Beitrag an eine URL sendet, die ich spezifiziere. Ich habe gehört, dass .asmx -Dateien besser sind als .aspx -Dateien, weil sie nicht den gesamten Seitenlebenszyklus durchlaufen. Ich verstehe jedoch nicht wirklich, wie man eine .asmx -Datei zum Laufen bringt, und können Sie sie sogar mit einem Beitrag nennen, dh www.mysit.com/webservice.asmx? Ich weiß, dass ich es mit einer .aspx -Datei zum Laufen bringen kann, aber ich wollte überprüfen, ob es einen besseren Weg gab, bevor ich dieses Bestreben durchführe.

Danke für deine Einsicht!

War es hilfreich?

Lösung

Während jede Erweiterung jedem Handler in ASP.NET standardmäßig zugeordnet werden kann .aspx wird dem Seitenhandler zugeordnet und kartiert und .asmx ist dem Webdienst -Handler zugeordnet. Ich denke, Sie suchen nach .ashx was einen generischen einfachen Handler darstellt. Sie müssen nur implementieren ProcessRequest Methode der IHttpHandler Schnittstelle nach dem Hinzufügen eines zu Ihrem Projekt (neues Element hinzufügen -> Generischer Handler).

Das .ashx Funktioniert gut, wenn Sie die Anfrage manuell bearbeiten möchten. Nur wenn Sie einen Webdienst anbieten möchten (zB SOAP) .asmx. Infolgedessen hängt die beste Lösung vom Format der von ihnen gesendeten HTTP -Postanforderung ab. Wenn sie Rohdaten mit ihrem eigenen Protokoll in Post senden, gehen Sie mit .ashx. Andernfalls, wenn sie ein Standard-RPC (SOAP, XML-RPC, ...) Protokoll verwenden, .asmx ist wahrscheinlich besser.

Andere Tipps

Erstellen Sie eine .asmx -Datei mit Visual Studio. Es sollte eine Vorlage mit a erstellen Hallo Welt Methode. Durchsuchen Sie es mit Ihrem Lieblingsbrowser und Sie erhalten tatsächlich eine Erklärung, wie Sie Anforderungen mit verschiedenen Methoden veröffentlichen.

Es gibt einen anderen Typ, den Sie nicht erwähnt haben: AshX. In Ihrem Fall würde ein Webservice (ASMX) jedoch sinnvoll sein.

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