以块webapi返回列表

时间:2015-08-05 13:07:05

标签: c# python asp.net-web-api asp.net-mvc-5 python-requests

我的列表太大,无法作为HTTP GET响应发送回客户端,因为我收到414错误。我想知道如何以较小的块发送我的列表,而不是发送给我一个404错误的整个事情?我在考虑使用PushStreamContent(),但不确定这是否可行?我的客户端应用程序是一个python独立控制台应用程序,因此不应对客户端大小的响应大小施加任何限制(我认为)。 414错误可能是因为我发送回客户端的数据太大,因为我发送的代码脚本以及有关脚本的其他元数据。

这是我的webapi方法

    [HttpGet]
    public IEnumerable<ScriptObject> GetDatasourceScripts(long? id)
    {

        var device = db.devices.Find(id);
        if (device == null)
        {
            return null;
        }

        var subgroupDevID = db.deviceSubGroups.Where(sub => sub.deviceSubID == device.deviceSubGroupID).Select(subDevID => subDevID.deviceGroupID).FirstOrDefault();
        var companyID = db.deviceGroups.Where(main => main.deviceGroupID == subgroupDevID).Select(cID => cID.deviceCompanyID).FirstOrDefault();

        //Load the list of devices and 
        DatasourceViewModel dsVM = new DatasourceViewModel();
        LoadDataToViewModel(ref dsVM, companyID);


        //we pass the company ID in because we only want that company to see their 
        return ScriptCompiler.Compile(device, dsVM, companyID);
    }

这是我的python请求

def GetDatasourceScripts(urlParameters):
    result = requests.get(constURLString + "/" + str(urlParameters))
    print result.text
    data = json.loads(result.text)
    return data

0 个答案:

没有答案