Frage

Ich habe viele Nachforschungen angestellt, um den besten Weg zu finden, um mit meiner ASP.NET -MVC3 -App einen Massenzuweisungs -Postanfrage ohne viel Erfolg zu kommunizieren.


Hier ist das Szenario:
Wie ich bereits erwähnt habe, habe ich einen ASP.NET MVC3 mit Standard-REST-Methoden, mit denen ich versuche, mit einer Desktop-Anwendung (eine andere App geschrieben) zu kommunizieren. Als Prototyp haben wir gerade das Brute Force XML -Dokument -Upload verwendet Webclient und dann die MVC3 -Anwendung durch das XML -Dokument analysieren. Um dieses Verhalten aufrechtzuerhalten, müssten wir ständig mehrere Methoden erstellen, einen für das XML -Dokument -Parsen und eine für die Standardmodellverwendung auf der Website. Ich möchte mich davon fernhalten, wenn ich kann.


Nach all meinen Nachforschungen stieß ich auf Restsharp Und ich frage mich, ob es zu einer Art und Weise besteht, dass sie Massenzuweisungsanfragen mit RastSharp verarbeiten. Ich möchte in der Lage sein, so etwas wie Folgendes zu tun:

In der MVC3 -App ...

public class RegistrationRequest {
    public string Email { get; set; }
    public string RequestedUserName { get; set; }

    public bool Register(string domain) {
        // Do registration stuff.
    }
}

public class AccountController : Controller {
    [Authorize,HttpPost]
    public ActionResult Register(IEnumerable<RegistrationModel> models) {
        return models.Any(model => !model.Register(this.Url.DnsSafeHost))
                   ? new HttpStatusCodeResult(400)
                   : new HttpStatusCodeResult(200);
    }
}

In der Desktop -App ...

public class RegistrationRequest {
    public string Email { get; set; }
    public string RequestedUserName { get; set; }
}

public class RegistrationService {
    public void CreateUsers() {
        List<RegistrationRequest> registrations = new List<RegistrationRequest>();
        // list of requested users built up by app

        var client = new RestClient(baseUrl);
        var request = new RestRequest("Account/Register", Method.POST);
        //request.AddAllMyObjects(registrations);
        var response = client.Execute(request);
    }
}

Kann mir jemand Hinweise geben, wie ich das erreichen kann?

War es hilfreich?

Lösung

Nach dem Durchsuchen der Dokumente und einem schnellen Hin und Her mit John Sheenan, Ich stellte fest, dass dies derzeit nicht möglich ist. Am Ende habe ich die API, die wir entwickelt haben, einzigartige Anfragen gestellt. Da dies im Hintergrund ausgeführt wird, wirkt sich dies nicht wirklich auf die Benutzererfahrung in der Desktop -App aus und die Anfragen waren sowieso kleiner und prägnanter.

Ich habe festgestellt, dass dies es uns tatsächlich ermöglichte, bei jedem einzelnen Pass/Fail -Fall bessere Ergebnisse zu erzielen und diese angemessen zu verarbeiten. Obwohl es schön gewesen sein mag, erwies sich diese "jeweilige" Anfrage am Ende tatsächlich als besser.

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