Я проводил много исследований, пытаясь найти лучший способ передать POST-запрос массового назначения с моим приложением ASP.NET MVC3 без особого успеха.
Вот сценарий:
Как я уже говорил, у меня есть ASP.NET MVC3 со стандартными методами REST, с помощью которого я пытаюсь установить связь с настольным приложением (другое приложение, написанное собственными силами).Для начала в качестве прототипа мы просто использовали загрузку XML-документов методом грубой силы через WebClient , а затем приложение MVC3 анализировало XML-документ.Чтобы поддерживать такое поведение, нам необходимо постоянно создавать несколько методов, один для разбора XML-документа, а другой для использования стандартной модели на веб-сайте.Я хотел бы держаться подальше от этого, если смогу.
После всех моих исследований я наткнулся на RestSharp , и мне интересно, есть ли способ справиться с массовым назначением POSTзапросы с использованием RestSharp.Я хотел бы иметь возможность сделать что-то вроде следующего:
В приложении MVC3 ...
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);
}
}
В настольном приложении ...
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);
}
}
Кто-нибудь может подсказать, как этого добиться?