Пример #1
0
        public JsonResult Atom(string url, string callback)
        {
            if (url == null) {
                return Json(null, JsonRequestBehavior.AllowGet);
            }

            IEnumerable<XElement> rootElements = GetFeed(url).Root.Elements();
            IEnumerable<XElement> entryElements = rootElements.Where(e => e.Name.LocalName == "entry");
            var entries = entryElements.Select(e => {
                IEnumerable<XElement> entryDetails = e.Elements();
                return new {
                    id = (string)getElement(entryDetails, "id"),
                    title = (string)getElement(entryDetails, "title"),
                    link = (string)(getElement(entryDetails, "link").Attributes().FirstOrDefault(a => a.Name.LocalName == "href")),
                    published = (DateTime)getElement(entryDetails, "published"),
                    updated = (DateTime)getElement(entryDetails, "updated"),
                    content = (string)getElement(entryDetails, "content")
                };
            });
            JsonpResult result = new JsonpResult(new {
                title = (string)getElement(rootElements, "title"),
                updated = (DateTime)getElement(rootElements, "updated"),
                entries = entries
            }, callback);
            result.JsonRequestBehavior = JsonRequestBehavior.AllowGet;
            return result;
        }
Пример #2
0
        public void Ctor_should_set_Data_property_if_data_parameter_has_a_correct_value()
        {
            var data   = "101";
            var result = new JsonpResult(data);

            Assert.AreEqual(data, result.Data);
        }
Пример #3
0
 /// <summary>
 /// Handle returning the correct Type based on the template parameter.  If the type is ot Json, Jsonp, or XML, we'll handle
 /// it with the corresponding result type,  Otherwise, return with a cast.
 /// </summary>
 /// <typeparam name="T"></typeparam>
 /// <param name="obj"></param>
 /// <returns></returns>
 public static T GetReturnObject <T>(object obj)
 {
     // return standard JsonResult
     if (typeof(T) == typeof(JsonResult))
     {
         object result = new JsonResult();
         ((JsonResult)result).JsonRequestBehavior = JsonRequestBehavior.AllowGet;
         ((JsonResult)result).Data = obj;
         return((T)result);
     }
     // return JsonpResult (assign the data here and we'll handle the callback wrapping in the serializer)
     else if (typeof(T) == typeof(JsonpResult))
     {
         object result = new JsonpResult();
         ((JsonpResult)result).Data = obj;
         return((T)result);
     }
     // return XmlResult (assign the data here and we'll handle the rest in the serializer)
     else if (typeof(T) == typeof(XmlResult))
     {
         object result = new XmlResult();
         ((XmlResult)result).Data = obj;
         return((T)result);
     }
     // otherwise, let's cast and return it
     else
     {
         return((T)obj);
     }
 }
Пример #4
0
        protected override void OnException(ExceptionContext filterContext)
        {
            string controller = filterContext.RouteData.Values["Controller"].ToString();
            string action     = filterContext.RouteData.Values["action"].ToString();

            var tag = new Dictionary <string, string>();

            tag.Add("controller", controller);
            tag.Add("action", action);

            if (filterContext.Exception is ArgumentException || filterContext.Exception is HttpRequestValidationException || filterContext.Exception is HttpException || filterContext.Exception is InvalidOperationException)
            {
                _logger.Warm("mvc.exception", new Error(filterContext.Exception, filterContext.HttpContext).ToString(), tag);
            }
            else
            {
                _logger.Error("mvc.exception", new Error(filterContext.Exception, filterContext.HttpContext).ToString(), tag);
            }

            filterContext.ExceptionHandled = true;
            var errResult = new { code = 500, msg = "内部程序异常" };

            filterContext.Result = JsonpResult.AsNewtonsoftJson(errResult);

            base.OnException(filterContext);
        }
Пример #5
0
        public void ExecuteResult_should_return_json_mimetype()
        {
            var writer       = new StringWriter();
            var responseMock = new Mock <HttpResponseBase>();

            responseMock.SetupProperty <string>(x => x.ContentType);
            responseMock.SetupGet(x => x.Output).Returns(writer);

            var requestMock = new Mock <HttpRequestBase>();

            requestMock.SetupGet(x => x["callback"]).Returns("fake");

            var httpContextMock = new Mock <HttpContextBase>();

            httpContextMock.SetupGet(x => x.Request).Returns(requestMock.Object);
            httpContextMock.SetupGet(x => x.Response).Returns(responseMock.Object);

            var controllerContextMock = new Mock <ControllerContext>();

            controllerContextMock.SetupGet(x => x.HttpContext).Returns(httpContextMock.Object);

            var data   = "101";
            var result = new JsonpResult(data);

            result.ExecuteResult(controllerContextMock.Object);

            Assert.AreEqual <string>("application/json", controllerContextMock.Object.HttpContext.Response.ContentType);
        }
Пример #6
0
        public JsonResult Rss(string url, string callback)
        {
            if (url == null)
            {
                return(Json(null, JsonRequestBehavior.AllowGet));
            }

            IEnumerable <XElement> rootElements  = getElement(GetFeed(url).Root.Elements(), "channel").Elements();
            IEnumerable <XElement> entryElements = rootElements.Where(e => e.Name.LocalName == "item");
            var entries = entryElements.Select(e => {
                IEnumerable <XElement> entryDetails = e.Elements();
                return(new {
                    guid = (string)getElement(entryDetails, "guid"),
                    title = (string)getElement(entryDetails, "title"),
                    link = (string)(getElement(entryDetails, "link").Attributes().FirstOrDefault(a => a.Name.LocalName == "href")),
                    pubDate = (DateTime)getElement(entryDetails, "pubDate"),
                    description = (string)getElement(entryDetails, "description")
                });
            });
            JsonpResult result = new JsonpResult(new {
                title         = (string)getElement(rootElements, "title"),
                description   = (string)getElement(rootElements, "description"),
                lastBuildDate = (DateTime)getElement(rootElements, "lastBuildDate"),
                entries       = entries
            }, callback);

            result.JsonRequestBehavior = JsonRequestBehavior.AllowGet;
            return(result);
        }
Пример #7
0
        public JsonResult Atom(string url, string callback)
        {
            if (url == null)
            {
                return(Json(null, JsonRequestBehavior.AllowGet));
            }

            IEnumerable <XElement> rootElements  = GetFeed(url).Root.Elements();
            IEnumerable <XElement> entryElements = rootElements.Where(e => e.Name.LocalName == "entry");
            var entries = entryElements.Select(e => {
                IEnumerable <XElement> entryDetails = e.Elements();
                return(new {
                    id = (string)getElement(entryDetails, "id"),
                    title = (string)getElement(entryDetails, "title"),
                    link = (string)(getElement(entryDetails, "link").Attributes().FirstOrDefault(a => a.Name.LocalName == "href")),
                    published = (DateTime)getElement(entryDetails, "published"),
                    updated = (DateTime)getElement(entryDetails, "updated"),
                    content = (string)getElement(entryDetails, "content")
                });
            });
            JsonpResult result = new JsonpResult(new {
                title   = (string)getElement(rootElements, "title"),
                updated = (DateTime)getElement(rootElements, "updated"),
                entries = entries
            }, callback);

            result.JsonRequestBehavior = JsonRequestBehavior.AllowGet;
            return(result);
        }
Пример #8
0
 public void NullDataShouldNotThrowError()
 {
     var controllerContext = new ControllerContext { HttpContext = _httpContext.Object };
     var result = new JsonpResult(null);
     result.ExecuteResult(controllerContext);
     // Passes if no exception is thrown
 }
Пример #9
0
        public JsonResult Rss(string url, string callback)
        {
            if (url == null) {
                return Json(null, JsonRequestBehavior.AllowGet);
            }

            IEnumerable<XElement> rootElements = getElement(GetFeed(url).Root.Elements(), "channel").Elements();
            IEnumerable<XElement> entryElements = rootElements.Where(e => e.Name.LocalName == "item");
            var entries = entryElements.Select(e => {
                IEnumerable<XElement> entryDetails = e.Elements();
                return new {
                    guid = (string)getElement(entryDetails, "guid"),
                    title = (string)getElement(entryDetails, "title"),
                    link = (string)(getElement(entryDetails, "link").Attributes().FirstOrDefault(a => a.Name.LocalName == "href")),
                    pubDate = (DateTime)getElement(entryDetails, "pubDate"),
                    description = (string)getElement(entryDetails, "description")
                };
            });
            JsonpResult result = new JsonpResult(new {
                title = (string)getElement(rootElements, "title"),
                description = (string)getElement(rootElements, "description"),
                lastBuildDate = (DateTime)getElement(rootElements, "lastBuildDate"),
                entries = entries
            }, callback);
            result.JsonRequestBehavior = JsonRequestBehavior.AllowGet;
            return result;
        }
Пример #10
0
        public JsonpResult GetGroupListJsonp(string callback)
        {
            List <GroupEntity> groupList = new List <GroupEntity>();


            groupList.Add(new GroupEntity()
            {
                ID   = 1,
                Name = "坦克评审组1"
            });

            groupList.Add(new GroupEntity()
            {
                ID   = 2,
                Name = "坦克评审组2"
            });
            groupList.Add(new GroupEntity()
            {
                ID   = 3,
                Name = "坦克评审组3",
            });



            JsonpResult reuslt = new JsonpResult(groupList);

            return(reuslt);
            //return Json(json, JsonRequestBehavior.AllowGet);
        }
Пример #11
0
    public static JsonpResult Jsonp(this Controller controller, object data)
    {
        JsonpResult result = new JsonpResult();

        result.Data = data;
        //result.ExecuteResult(controller.ControllerContext); <-- Remove this !!!
        return(result);
    }
        /// <summary>
        ///
        /// </summary>
        /// <param name="controller"></param>
        /// <param name="data"></param>
        /// <returns></returns>
        public static JsonpResult Jsonp(this Controller controller, object data)
        {
            JsonpResult result = new JsonpResult()
            {
                Data = data,
                JsonRequestBehavior = JsonRequestBehavior.AllowGet
            };

            return(result);
        }
Пример #13
0
        private JsonpResult Error(ResultCode resultCode, RiskPolicyEnum policyEnum, RiskExtraInfo ext = null)
        {
            var result = new RiskTestResponse();

            result.Code = resultCode;
            result.risk = new RiskInfo
            {
                policy = (int)policyEnum,
                extra  = ext,
            };
            return(JsonpResult.AsCamelCaseJson(result));
        }
Пример #14
0
        /// <summary>
        /// 更新妈妈秀状态审核
        /// </summary>
        /// <param name="userId">用户ID</param>
        /// <param name="showId">麻麻秀ID</param>
        /// <param name="state">状态</param>
        /// <param name="originalState">原始状态</param>
        /// <returns></returns>
        public JsonpResult UpdateCheck(int userId, int showId, int state, int originalState)
        {
            var result = new JsonpResult();

            try
            {
                result.Data = MotherShowClient.Instance.UpdateCheck(userId, showId, state, originalState);
            }
            catch (Exception ex)
            {
            }
            return(result);
        }
Пример #15
0
        public void ExecuteResult_should_throw_ArgumentNullException_if_context_parameter_is_null()
        {
            var data   = "101";
            var result = new JsonpResult(data);

            Executing.This(() => result.ExecuteResult(null))
            .Should()
            .Throw <ArgumentNullException>()
            .And
            .ValueOf
            .ParamName
            .Should()
            .Be
            .EqualTo("context");
        }
Пример #16
0
        public JsonpResult ParseJsonp(object data, int depth = 1
                                      , ReferenceLoopHandling referenceLoopHandling = ReferenceLoopHandling.Ignore)
        {
            var result = new JsonpResult
            {
                Data = data,
                JsonRequestBehavior = System.Web.Mvc.JsonRequestBehavior.AllowGet,
                Settings            =
                {
                    ReferenceLoopHandling = referenceLoopHandling,
                    MaxDepth              = depth// product, productdetail, author
                }
            };

            return(result);
        }
Пример #17
0
        public JsonpResult Index(string authcode)
        {
            // Open widgets js and html
            var fileStream = new FileStream(Server.MapPath("~/Content/Widget/htmlwidget1.html"), FileMode.Open, FileAccess.Read, FileShare.Read);
            var textReader = new StreamReader(fileStream);
            // Fill authcode variable in generated client js with requested authcode. For now user id used as authcode.
            var content = Regex.Replace(textReader.ReadToEnd(), "(stringtoreplace)", authcode);

            fileStream.Close();
            textReader.Close();
            JsonpResult result = new JsonpResult(content);

            // following piece of code is more elequant, however could be thread unsafe and probably may lock file from concurrent access
            // var fileContents = Regex.Replace(System.IO.File.ReadAllText(Server.MapPath("~/Content/Widget/htmlwidget1.html")), "(stringtoreplace)", authcode);
            //JsonpResult result = new JsonpResult(fileContents);
            return(result);
        }
Пример #18
0
        public ActionResult BasketTest()
        {
            /*
            OriginCheckResult result = new OriginCheckResult();

            result.Result.RetCode = 0;
            result.Result.RetMessage = "성공";

            string orderIdx = Request.QueryString["orderIdx"];
            string[] orderIdxList = orderIdx.Split(new char[] { ',' });

            foreach (string idx in orderIdxList)
            {
                result.CheckResult.Add(new BasketValidCheck { OrderIdx = Convert.ToInt32(idx), RetCode = 0, RetMessage = "성공" });
            }
            */

            CartBiz biz = new CartBiz();
            ValidCheckResultT result = new ValidCheckResultT();
            result.Result = new GEPBaseResultT();
            BasketParamT basket = new BasketParamT();

            string orderIdx = Request.QueryString["orderIdx"];
            string pid = Request.QueryString["pId"];
            string cloneIds = Request.QueryString["cloneIds"];

            basket.Pbid = pid;
            basket.OrderIdxs = orderIdx;
            basket.GoodsCodes = cloneIds;

            result = biz.OriginVerification(basket);
            JsonpResult jsonResult = new JsonpResult
            {
                Data = new { Result = result.Result, Data = result.ValidCheckList },
                JsonRequestBehavior = JsonRequestBehavior.AllowGet
            };

            jsonResult.ContentEncoding = Encoding.GetEncoding("euc-kr");

            return jsonResult;
        }
Пример #19
0
        protected override JsonResult Json(object data, string contentType, System.Text.Encoding contentEncoding, JsonRequestBehavior behavior)
        {
            JsonResult r = null;

            if (APIContext.Current.IsJsonp)
            {
                r      = new JsonpResult();
                r.Data = data;
                r.JsonRequestBehavior = behavior;
                r.ContentEncoding     = contentEncoding;
                r.ContentType         = contentType;
            }
            else
            {
                r      = new JsonResult();
                r.Data = data;
                r.JsonRequestBehavior = behavior;
                r.ContentEncoding     = contentEncoding;
                r.ContentType         = contentType;
            }
            return(r);
        }
Пример #20
0
 public JsonpResult Hash()
 {
     JsonpResult result = new JsonpResult(new { hash = cSession.Current.hash });
     return result;
 }
Пример #21
0
 public static JsonpResult Jsonp(this Controller controller, object data)
 {
     JsonpResult result = new JsonpResult();
     result.Data = data;
     return result;
 }
Пример #22
0
 /// <summary>
 /// Returns a link as JSONP
 /// </summary>
 /// <param name="link"></param>
 /// <param name="message"></param>
 /// <returns></returns>
 private JsonpResult GetLinkAsJSONP(Link link, string message)
 {
     JsonpResult result = new JsonpResult();
     if (link != null)
     {
         var data = new
         {
             Success = true,
             ShortURL = this.BaseURL + link.ShortCode,
             AccessCount = link.AccessCount,
             OriginalURL = link.DestinationUrl
         };
         return new JsonpResult(data);
     }
     else
     {
         var data = new
         {
             Success = false,
             Message = message
         };
         return new JsonpResult(data);
     }
 }
Пример #23
0
        public JsonpResult GiveJSONPArray(int num)
        {
            List<int> listOfInt = new List<int>();

            for (var x = 0; x < num; x++)
            {
                listOfInt.Add(x);
            }

            JsonpResult result = new JsonpResult(listOfInt);

            return result;
        }