Api에 액세스 할 때 35 MB Json의 큰 덩어리를로드하는 데 약 50 초가 걸립니다. 성능 향상을 위해 WebApiContrib.Formatting.ProtoBuf를 프로젝트에 추가했습니다. 데이터는 검도 UI 그리드에 표시됩니다.웹 Api, Howto는 ProtoBuf로 성능을 개선합니다.
무엇이 여기에 있습니까? 보기의 데이터 유형 또는 유형 또는 그와 비슷한 것? 성과를 향상시킬 수있는 다른 방법이 있습니까? 여기
일부는>
POCO 클래스 snippets- :
[ProtoContract]
public partial class KDAuftraege
{
[ProtoMember(1)]
public int AngebotsNummer { get; set; }
[ProtoMember(2)]
public Nullable<int> BesuchsNummer { get; set; }
[ProtoMember(3)]
public Nullable<int> Kennummer { get; set; }
[ProtoMember(4)]
보기 :
var remoteDataSource = new kendo.data.DataSource({
transport: {
read: {
url: '/api/WebApiAuftraege'
},
},
컨트롤러 :
public IQueryable<KDAuftraege> GetKDAuftraeges()
{
//return db.KDAuftraeges.Take(500);
return db.KDAuftraeges;
}
WebApi :
config.Formatters.Add(new ProtoBufFormatter());
헤더 :
Cache-Control no-cache
Content-Length 36227588
Content-Type application/json; charset=utf-8
Date Sat, 07 Jun 2014 09:23:54 GMT
Expires -1
Pragma no-cache
Server Microsoft-IIS/8.0
X-AspNet-Version 4.0.30319
X-Powered-By ASP.NET
X-SourceFiles =?UTF-8?B?YzpcdXNlcnNcb2xkc3BvcnRcZG9jdW1lbnRzXHZpc3VhbCBzdHVkaW8gMjAxM1xQcm9qZWN0c1xWaXM0XFZpczRcYXBpXFdlYkFwaUF1ZnRyYWVnZQ==?=
Anfrage-HeaderQuelltext anzeigen
Accept */*
Accept-Encoding gzip, deflate
Accept-Language de,en-US;q=0.7,en;q=0.3
Connection keep-alive
Cookie __RequestVerificationToken=wMVQWPOkXsB2XDIFN_07RJDtKqN_90dLRYaBYJGsFSGEHTcQ1S6e15mPiWrvkMHS8HrAlHYAI0OVSkqtPQHFVMP5DxoyccijSktL_KsoEFU1; .AspNet.ApplicationCookie=RTQ61CfArDWHlWN06eOpZiZY6NmFGp0SwCCuR8bQCtnItSz6S8YTasQu4-uoRQCc-XqWDCZmtOpEb-b0SyIioQPomkm1BrKywMcVwt3bF_JBxORKGg-UNSHyPvFyBohiS1sJ354LpRHIjrPIA8rUexvZih4VrK9lvHu_sm21ncNXXV7jATKAjTdX7J3XvfxRsF11fhgDNtpXPEWxQPjD7Rkj5yvdqI-vbfr9tfQbszUR1O3oOjYcRxUvvVrJ7xnt-caxt-o_Kut1dixLEA241pMGPCHfetWK73Yp148K3X9By6ylHFOTEjjDwHZyHLIrBwwOZ-ujnaOf20jQzeZXaF16bHxeadLYuKK-Z2DpdzaJXPzZd2pBbzHJMFX7USfZmp7OZzLpOitLCMovGHwdRiLD0F2NR1a0iTHCgiZLvA8
Host localhost:19275
Referer http://localhost:19275/MvcAuftraege
User-Agent Mozilla/5.0 (Windows NT 6.3; WOW64; rv:29.0) Gecko/20100101 Firefox/29.0
X-Requested-With XMLHttpRequest
요청/응답의 헤더를 게시 할 수 있습니까? 'Accept : application/x-protobuf'가 설정되어 있습니까? – Prescott
헤더를 업데이트했습니다. 실제로 어디에서'Accept : application/x-protobuf'를 설정해야합니까? – oldsport
서버가 인코딩을 선택할 수 있도록'*/*'로 설정되어있는 것처럼 보입니다. 내 생각 엔 proto 버퍼 인코딩이 마지막 옵션입니다. 다른 모든 포맷터 ('config.Formatters.Clear();')를 제거한 다음 proto-buf 포맷터를 추가 할 수있었습니다. 또는 자바 스크립트에서 요청을 변경하여 설정하십시오 (미안하지만 익숙하지 않습니다) – Prescott