테스트 사이트 - 개발 중인 베타 버전입니다

성능향상을 위한 팁-5

· 15년 전 · 913
eval() 사용 자제 ... & JSON Serialize & Page Method (?)
  • AJAX => UI(XHTML + CSS), Program(Javascript), 통신방식(XML)
    • XML은 대용량 데이터일 경우 성능저하되므로 ... JSON 직렬화 사용
    • eval()은 보안에 취약(XSS) → JSON 파서 이용

 

  • Server <==== serialize ====> Client (?)

string json = null;

using (MemoryStream ms = new MemoryStream())  {
    DataContractJsonSerializer serializer = new DataContractJsonSerializer(obj.GetType());
    serializer.WriteObject(ms, obj);
    json = Encoding.UTF8.GetString(ms.ToArray());
}

 

==============================================================================================================

 

// {"<Completed>k__BackingField":true,"<Message >k__BackingField":"Pietschmann"}

[Serializable]
public sealed class BoardProcessResult
{
   public bool Completed { get; set; }
   public string Message { get; set; }
}

 

---------------------------------------------------------------------------------------

 

// {"Completed :true,”Message":"Pietschmann"}

[DataContract]
public sealed class BoardProcessResult
{
    [DataMember]
    public bool Completed { get; set; }
    [DataMember]
    public string Message { get; set; }
}

  • Page Method (?)
    • Server side 메서드를 Javascript로 바로 사용가능
    • ASP.NET을 Static으로...
       
[이 게시물은 관리자님에 의해 2011-10-31 17:16:08 PHP & HTML에서 이동 됨]

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

게시글 목록

번호 제목
21248
13844
529
13842
526
29537
518
502
13840
25293
21244
29532
25288
29531
500
13836
21241
495
13832
25283
21236
13830
490
21220
21217
25277
25276
25275
484
13827
13825
13819
29529
13813
479
21211
25273
478
21201
25272
21189
477
476
21185
474
21181
21175
472
470
469
467
465
21168
25267
463
21164
21161
458
21146
457
13807
454
29528
451
447
21127
21122
25262
25254
21119
25251
25243
25239
21112
442
21103
25233
25222
25230
441
21100
25215
21097
21091
25212
25210
25209
21083
21080
439
438
436
25200
21066
25195
21055
21051
25192
21040
13803