C#Rest API返回动态对象
发布时间:2020-12-16 06:51:28 所属栏目:百科 来源:网络整理
导读:我有一个网络服务 WebServiceHost webServiceHost= new WebServiceHost(typeof(WebMethods),new Uri(url));webServiceHost.Open();public class Fish { public string name = "I am a fish"; }public class Dog { public int legs = 4; }public class Cat {
我有一个网络服务
WebServiceHost webServiceHost= new WebServiceHost(typeof(WebMethods),new Uri(url)); webServiceHost.Open(); public class Fish { public string name = "I am a fish"; } public class Dog { public int legs = 4; } public class Cat { public DateTime dt = DateTime.Now;} 我的一个webMethods应该返回一个动态对象 的WebMethod: 解决方案1 [OperationBehavior] [WebGet(ResponseFormat = WebMessageFormat.Json,UriTemplate = "/isTest?class={cl}")] object isTest(string cl) { object obj; switch (cl) { case "fish": obj= new Fish(); break; case "dog": obj= new Dog(); break; default: obj= new Cat(); break; } return obj; } 解决方案2 [OperationBehavior] [WebGet(ResponseFormat = WebMessageFormat.Json,UriTemplate = "/isTest?class={cl}")] dynamic isTest(string cl) { dynamic obj; switch (cl) { case "fish": obj= new Fish(); break; case "dog": obj= new Dog(); break; default: obj= new Cat(); break; } return obj; } 两者都不起作用.响应是ERR_CONNECTION_RESET 知道如何实现它吗? 解决方法
您没有返回JSON字符串.
将以下内容添加到您的用途中: using System.Web.Script.Serialization; 以及你体内的以下内容 return new JavaScriptSerializer().Serialize(obj); 将返回类型更改为字符串而不是对象 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |