Benutzer mit den meisten Antworten
Http POST requests abfangen

Frage
-
Ich muss mit meinem eCommerce Provider eine Server/Server Kommunikationimplementieren. Ich kann zu irgendeinem unbestimmten Zeitpunkt einenPOST request empfangen. Der enthält Daten in einem festgelegten Formatund ich muss per response meine resultierenden Daten zurückschicken. Dahabe ich mir erst mal vom VS Wizard eine leere ASP.NET Anwendung bauenlassen. Des weitern habe zum Testen eine Desktop Anwendung, die einenPOST request absendet, aber als Antwort gibt es nur "(405) unzulässigeMethode".Wo kann ich das denn abfangen? Ich wundere mich sowieso über "LeereWebanwendung", immerhin sehe ich mein Projektverzeichnis im Browser. Wokommt das denn her?Ich habe kein grafisches Interface oder sonstigen Schnickschnack, allesläuft unsichtbar ab. Mit HttpWebRequest und HttpWebResponse kenne ichmich von Client Anwedungen her schon etwas aus. Beipiele, Links,Literaturhinweise sind auch willkommen.Hajü
Antworten
-
Das geht wohl am besten mit einem benutzerdefiniertem HTTP-Handler. Z.b. als synchroner Handler.
- Als Antwort vorgeschlagen Stefan FalzModerator Samstag, 12. Mai 2012 19:42
- Als Antwort markiert Hans-J. Ude Sonntag, 13. Mai 2012 15:02
-
Hallo Hans,
dein Provider wird ja wahrscheinlich von dir einen URL haben wollen, an den er den Request senden kann. Also bspw.
http://www.deinserver.tld/irgendwo/irgendwas.ashx
Ich persönlich würde einfach einen generischen Handler (ASHX) erstellen. Die Adresse sieht dann wie die vorstehend genannte aus. Dort kannst Du dann den Request entgegennehmen und die Rückgabe nach Belieben gestalten.
<%@ WebHandler Language="VB" Class="MyHandler" %> Imports System Imports System.Web Public Class MyHandler : Implements IHttpHandler Public Sub ProcessRequest( ByVal context As HttpContext ) Implements IHttpHandler.ProcessRequest Dim Parameter As String = context.Request.Form( "ParameterName" ) context.Response.Clear() context.Response.ContentType = "text/plain" context.Response.Write( String.Format( "Gesendeter Wert: {0}", Parameter ) End Sub Public ReadOnly Property IsReusable() As Boolean Implements IHttpHandler.IsReusable Get Return False End Get End Property End Class
Im Prinzip ist das sehr ähnlich zu Stefan's Vorschlag, nur ohne Notwendigkeit zur Registrierung des Handlers über die web.config ...
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
- Bearbeitet Stefan FalzModerator Samstag, 12. Mai 2012 12:41
- Als Antwort markiert Hans-J. Ude Samstag, 12. Mai 2012 15:32
Alle Antworten
-
Das geht wohl am besten mit einem benutzerdefiniertem HTTP-Handler. Z.b. als synchroner Handler.
- Als Antwort vorgeschlagen Stefan FalzModerator Samstag, 12. Mai 2012 19:42
- Als Antwort markiert Hans-J. Ude Sonntag, 13. Mai 2012 15:02
-
Hallo Hans,
dein Provider wird ja wahrscheinlich von dir einen URL haben wollen, an den er den Request senden kann. Also bspw.
http://www.deinserver.tld/irgendwo/irgendwas.ashx
Ich persönlich würde einfach einen generischen Handler (ASHX) erstellen. Die Adresse sieht dann wie die vorstehend genannte aus. Dort kannst Du dann den Request entgegennehmen und die Rückgabe nach Belieben gestalten.
<%@ WebHandler Language="VB" Class="MyHandler" %> Imports System Imports System.Web Public Class MyHandler : Implements IHttpHandler Public Sub ProcessRequest( ByVal context As HttpContext ) Implements IHttpHandler.ProcessRequest Dim Parameter As String = context.Request.Form( "ParameterName" ) context.Response.Clear() context.Response.ContentType = "text/plain" context.Response.Write( String.Format( "Gesendeter Wert: {0}", Parameter ) End Sub Public ReadOnly Property IsReusable() As Boolean Implements IHttpHandler.IsReusable Get Return False End Get End Property End Class
Im Prinzip ist das sehr ähnlich zu Stefan's Vorschlag, nur ohne Notwendigkeit zur Registrierung des Handlers über die web.config ...
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
- Bearbeitet Stefan FalzModerator Samstag, 12. Mai 2012 12:41
- Als Antwort markiert Hans-J. Ude Samstag, 12. Mai 2012 15:32