当前位置:  编程技术>.net/c#/asp.net

c# JSON返回格式的WEB SERVICE

    来源: 互联网  发布时间:2014-10-13

    本文导语:  我贴c#的代码: 代码如下:namespace IWebs.Webs{ using System; using System.Web.Services; using System.Web.Services.Protocols; using System.Xml; using System.Xml.XPath; using System.Web.Script.Services; using IWebs; [WebService (Name="cjjer",Description="一个返回用户资料,订单...

我贴c#的代码:
代码如下:

namespace IWebs.Webs{
using System;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Xml;
using System.Xml.XPath;
using System.Web.Script.Services;
using IWebs;
[WebService (Name="cjjer",Description="一个返回用户资料,订单信息的WebService,请求的手机号码最长12位",Namespace="http://www.cjjer.com/webs/")]
[System.Web.Script.Services.ScriptService]
public class cjjer:WebService{
public class ReqHeader : SoapHeader{
public string userName;
public string password;
}
public ReqHeader header;
[WebMethod (Description ="输入单个用户的int值ID,返回用户类",MessageName="GetUser",EnableSession = false)]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
[SoapHeader("header", Direction = SoapHeaderDirection.In)]
public Model.Member GetUser(int uid){
this.ChechHeader(header);
return (new DAL.Members()).GetById(uid);
}
[WebMethod (Description ="输入某个用户的手机号码,返回用户类",MessageName="GetUserByMobile",EnableSession = false)]
[ScriptMethod(ResponseFormat=ResponseFormat.Json)]
[SoapHeader("header", Direction = SoapHeaderDirection.In)]
public Model.Member GetUserByMobile(string umobile){
this.ChechHeader(header);
return (new DAL.Members()).GetByMobile(umobile);
}
[WebMethod (Description ="输入某个用户的手机号码,返回订单数组",MessageName="GetOrdersByMobile",EnableSession = false)]
[ScriptMethod(ResponseFormat=ResponseFormat.Json)]
[SoapHeader("header", Direction = SoapHeaderDirection.In)]
public IWebs.Model.Order[] GetOrdersByMobile(string umobile){
this.ChechHeader(header);
return (new DAL.Orders()).GetByMobile(umobile,-365);
}
[WebMethod (Description ="输入某个用户的ID,返回订单数组",MessageName="GetOrdersByUserId",EnableSession = false)]
[ScriptMethod(ResponseFormat=ResponseFormat.Json)]
[SoapHeader("header", Direction = SoapHeaderDirection.In)]
public IWebs.Model.Order[] GetOrdersByUserId(int uid){
this.ChechHeader(header);
return (new DAL.Orders()).GetOrdersByUserId(uid,-365);
}
private void ChechHeader(ReqHeader header){
if (header != null){
if (header.MustUnderstand)
{
string UserName = header.userName;
string PassWord = header.password;
if (UserName == "cjjer" && PassWord == "000000")
{
return ;
}
else
{
throw new ApplicationException (String.Format("用户名[{0}]或密码[{1}]错误",UserName,PassWord));
}
}
else
{
throw new ApplicationException ("包含用户名和密码信息的消息头格式不正确");
}
}
else
{
throw new ApplicationException ("请提交包含用户名和密码信息的消息头");
}
}
};
}

注意的是,这个请求必须要请求提交SoapHeader,其中的[System.Web.Script.Services.ScriptService]
这句是利用AJAX.NET处理JSON请求的,如果不需要就免了,如果需要的话下载AJAX.NET,然后在BIN里面放System.Web.Extensions.Design.dll,System.Web.Extensions.dll,按照AJAX.NET默认的那个WEB.CONFIG修改你的web.config,在浏览器中查看*.ASMX文件,如果使用?wsdl可以看到xml的wsdl的话第一步算成功了。
其中注意的是:
Web.Config
在httpHandler中有两个节点很重要:
代码如下:




这两句声明让ScriptHandlerFactory处理WebService请求。
利用ajax请求的时候 http_request.setRequestHeader("Content-Type", "application/json");
加上这句默认的返回的就是JSON。
附上web.CONFIG和相关的dll文件吧:
c# json
在c#代码创建的时候道理一样。

    
 
 

您可能感兴趣的文章:

  • C#解析JSON实例
  • C#实体类转换成Json字符串的实现代码
  • C#实现Json转Unicode的方法
  • c#序列化和反序列化Json的方法
  • C#实现DataSet数据转换为Json的代码
  • C# XML与Json之间相互转换实例详解
  • C#实现对Json字符串处理实例
  • C#简单快速的json组件fastJSON使用介绍
  • 自定义实现Json字符串向C#对象转变的方法
  • C#实现json的序列化和反序列化实例代码
  • C# web api返回类型设置为json的两种方法
  • c#处理3种json数据的实例
  • c#扩展datatable转json示例
  • asp.net(C#)解析Json类代码
  • c#版json数据解析示例分享
  • c# 解析json文件的方法详解
  • C#中的DataSet、string、DataTable、对象转换成Json的实现代码
  • C#解析json文件的实现代码
  • C#实现任意数据类型转成json格式输出
  • c#操作json示例分享
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • asp.net webservice返回json的方法
  • jquery的ajax异步请求接收返回json数据实例
  • 关于struts返回对象json格式数据的方法
  • struts2中action实现ModelDriven后无法返回json的解决方法
  • JQuery处理json与ajax返回JSON实例代码
  • jquery序列化form表单使用ajax提交后处理返回的json数据
  • Python中实现json字符串和dict类型的互转
  • 高性能JSON库 commons.json
  • Python namedtuple对象json序列化/反序列化及对象恢复
  • JSON标签库 JSON-taglib
  • json用法小结 json数据格式
  • PHP的JSON开发包 Services_JSON
  • Symbian上的JSON解析库 s60-json-library
  • JSON压缩算法 JSON.hpack
  • JSON改进版 JSON5
  • 把JSON转换成CSV json2csv
  • JSON-RPC框架 JSON-RPC-Java
  • JSON处理类库 json-smart
  • json数据的列循环 JS循环遍历JSON数据
  • jQuery的JSON插件 JSON Parser
  • Symbian上的JSON解析库 s-json
  • C++的JSON开发包 knl-json
  • jQuery.parseJSON(json)将JSON字符串转换成js对象
  • IT科技资讯 iis7站长之家
  • QT的json库 LomoX Json 4QT
  • JSON-RPC的框架 json-rpc-for-java
  • 浅析php中json_encode()和json_decode()


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3