首页 > 解决方案 > 在 asp.net 中使用 Protobuf-Net 序列化数据

问题描述

我是网络应用程序的新手,老实说,我正在尝试更新旧的网络应用程序,试图加快速度。我分析了应用程序,看看加载页面缓慢的原因是什么。当然是 http-requests,我试图阅读如何加快请求速度,我发现我应该序列化数据,但我没有知道如何在我的应用程序中做到这一点。所以我需要有人告诉我如何使用序列化或如何加快请求速度:首先它使用 angular-js,所以请求是这样的:

viewModelHelper.apiPost('Book/book_getList', null,
                function (result) {
                    $scope.gridOptions.data = result.data;
                });

我使用类似的方法来获取数据......

app.js 中的 viewModelHelper.apiPost:

self.apiPost = function (uri, data, success, failure, always) {
            self.modelIsValid = true;
            $http.post(MyApp.rootPath + uri, data)
                .then(function (result) {
                    success(result);
                    if (always != null)
                        always();
                }, function (result) {
                    if (failure != null) {
                        failure(result);

                    }
                    else {
                        var errorMessage = result.status + ':' + result.statusText;
                        if (result.data != null) {
                            if (result.data.Message != null)
                                errorMessage += ' - ' + result.data.Message;
                            if (result.data.ExceptionMessage != null)
                                errorMessage += ' - ' + result.data.ExceptionMessage;
                        }

                    }
                    if (always != null)
                        always();
                });
        }

然后让我们说在 bookController 中有 book_getList 方法:

public JsonResult book_getList()
        {
            List<BookModels> List = obj.book_getList();
            return Json(List, JsonRequestBehavior.AllowGet);
        }

bookModels 具有如下属性:

 public Guid guid_book_id { get; set; }
         public string code { get; set; }
         public string closet { get; set; }
         public string shelf { get; set; }
      public string title { get; set; }

而get_list方法:

public List<BookModels> book_getList()
        {
            try
            {
                OpenCon();
                List<BookModels> List = con.Query<BookModels>("book_getList", param: null, commandType: CommandType.StoredProcedure).ToList();
                return List.ToList();
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                CloseCon();
            }
        }

谢谢

标签: c#asp.netjsonjson.netprotobuf-net

解决方案


推荐阅读