添加自定义参数以休息回调操作

时间:2016-01-27 11:22:36

标签: c# rest restsharp

我遇到了编写一个非常基本的工具的问题,该工具用于在WPF窗口中的视频游戏中列出一些“项目”(以及它们在游戏拍卖行中的相应价格)。

我从REST服务中获取过去30天内特定项目(id)的价格趋势,这样可以提供类似这样的信息:

[{"timestamp":"1453892281000","buy":"3411","sell":"3791"},{...},...]

我一次请求大约100个项目的价格趋势(所有异步),当处理responseData时,我通过RestSharp得到一个包含响应所有字段的Class。 现在的问题是我无法将ResponseData与Item匹配,因为Rest-Response不会为我提供一个。 有没有办法在Action / Callback中添加ID(整数)?

public static void getItemPriceHistory(int itemId, ListingsView view)
{
    var request = new RestRequest("itemPriceTrend/" + itemId);
    Action<List<RestItemPriceHistory>> ariph = view.processItemPriceHistory;
    executeAsync(request, ariph);
}

public static void executeAsync<T>(RestRequest request, Action<T> callback) where T : new()
{
    var client = new RestClient();
    client.BaseUrl = BaseUrl;

    var asyncHandle = client.ExecuteAsync<T>(request, aresp => {
        callback(aresp.Data);
    });
}

我希望我的问题可以理解,如果没有,请说出来,我会尽力提供不同的解释:)

1 个答案:

答案 0 :(得分:0)

我刚刚知道如何做到这一点: 只需在Action中添加第二个参数:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="checkbox" id="checkbox1">
<label for="checkbox1">Get the text of this label</label>

并且因为在回调时也是如此:

 Action<List<RestItemPriceHistory>, int> ariph = view.processItemPriceHistory;

现在似乎很简单,不知道为什么我之前没有尝试过:)