Ich arbeite an einem ASMX-Web-Service; Versuchen Sie, eine Methode zu erstellen, die ein Dokument von einem Server herunterlädt und das Dokument im Browser anzeigt (die aufrufende ASPX-Webseite). Mein Dienst wird ohne Fehler erstellt, aber ich erhalte den folgenden Fehler, wenn ich versuche, "Webreferenz hinzufügen" in meinem Proxy-Klassenprojekt hinzuzufügen:Wie HTTPResponse von ASMX-Web-Service auf Consumer-Webseite zurückgegeben wird
System.Web.HttpResponse kann nicht serialisiert werden, da es keinen parameterlosen Konstruktor hat. Hier
ist ein Ausschnitt aus dem Code in ASMX-Datei:
public class FileService : System.Web.Services.WebService
{
[WebMethod]
public void DownloadDocument(string URI, HttpResponse httpResponse)
{
int DownloadChunkSize = (int)Properties.Settings.Default.DownloadChunkSize;
// some more code here....
using (httpResponse.OutputStream)
{
// more code here...
}
}
}
Ich sehe, ich bin verwirrt darüber, wie zu einer anfordernden Webseite ein Httpresponse von einem Webdienst zurück zu senden. Könnte mir bitte jemand einen Tipp geben, wie man das macht? Vielen Dank.
Hey Chris, danke. Ich versuche, diesen Vorschlag zu verstehen, der gut klingt (obwohl ich eine Menge zu studieren habe ...). Wohin würde diese .ashx-Datei gehen? An dieser Stelle habe ich eine ASPX-Seite, die myProxyClass.DLL referenziert, die meinen .asmx-Dienst aufruft. Ist die .ashx eine Alternative zu .asmx? –
Wow, zwischen Ihrem gestrigen UPDATE und dem von Ihnen bereitgestellten Link wurde plötzlich .ASHX plötzlich viel verständlicher. Am Ende des Tages hatte ich meine neue .ASX implementiert, die meine .ASMX aufruft, genau wie mein früherer Versuch, der den Web-Service-Anruf von meiner .ASPX fehlgeschlagen ist. –