tags:

views:

9

answers:

1

After spending many hours poking around trying to get an ASP .NET AJAX proxy page, I'm pretty sure someone out there knows of an easier & simpler way.

These are two ways I have tried:

  1. Web services endpoint.

Problem: Super complicated, lots of work

  1. An OnLoad handler that sucks in a URL parameter and spits out the desired webpage (or JSON or XML).

Problem: The code is never called.

Secondary Problem: Setting up a proxy page should not require writing a bunch of code (aka, do we really need to keep reinventing an admittedly simple wheel?) and generating 2 different files (the ASPX and the code-behind)

What is the simplest way to make an ASP .NET AJAX proxy page?

Meta-note: I realize this treads a bit close to a discussion topic. Alas, I cannot flag this as a community wiki question. If you think it should be a wiki question, please mark it for me.

+1  A: 

You can use a generic HTTP handler (ashx file). Quick example:

<%@ WebHandler Language="C#" Class="Proxy" %>

using System.Web;
using System.Net;

public class Proxy : IHttpHandler {

    public void ProcessRequest(HttpContext context) {
        context.Response.ContentType = "text/plain";
        using (WebClient client = new WebClient()) {
            context.Response.BinaryWrite(client.DownloadData(context.Request.QueryString["url"]));
        }
    }

    public bool IsReusable { get { return true; } }

}
Guffa
Thank you so much!
Zian Choy