2

ASP.NET MVC3 アプリで一括割り当て POST 要求を通信するための最良の方法を見つけようとして、多くの調査を行ってきましたが、あまり成功していません。


シナリオは次のとおりです。
前述のように、標準の REST メソッドを備えた ASP.NET MVC3 を使用して、デスクトップ アプリケーション (社内で作成された別のアプリ) と通信しようとしています。プロトタイプとして開始するには、WebClientを介してブルート フォース XML ドキュメントをアップロードし、MVC3 アプリケーションに XML ドキュメントを解析させました。この動作を維持するには、XML ドキュメントの解析用と Web サイトでの標準モデルの使用用の複数のメソッドを常に構築する必要があります。できればそこから離れたい。


すべての調査の後、RestSharp に出会いました。RestSharpを使用して大量の割り当て POST 要求を処理する方法があるかどうか疑問に思っています。次のようなことができるようになりたいです。

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);
    }
}

これを達成する方法について誰かが私に何か指針を与えることができますか?

4

1 に答える 1

1

ドキュメントを調べて、John Sheenanと簡単に行ったり来たりした後、これは現在不可能であることがわかりました。結局、私たちが開発したAPIに対して単一のリクエストを行うことになりました。これはバックグラウンドで実行されるため、デスクトップアプリのユーザーエクスペリエンスには実際には影響せず、リクエストはとにかく小さく、より簡潔にする必要があります。

これにより、実際には、個々の合格/不合格のケースでとにかくより良い結果が得られ、それらを適切に処理できることがわかりました。それは良かったかもしれませんが、この「一度に1つずつ」の要求は実際には最終的にはより良いことが証明されました。

于 2012-04-28T13:32:42.983 に答える