c\#JSON 이 형식의 WEB 서 비 스 를 되 돌려 줍 니 다.

4043 단어 c#JSONWEBSERVICE
나 는 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.Service.ScriptService]는 AJAX.NET 을 이용 하여 JSON 요청 을 처리 한 것 이다.필요 하지 않 으 면 면제 된다.필요 하 다 면 AJAX.NET 을 다운로드 한 다음 BIN 에 System.Web.Extensions.Design.dll,System.Web.Extensions.dll,AJAX.NET 의 기본 WEB.CONFIG 에 따라 웹.config 를 수정 하고 브 라 우 저 에서*.ASMX 파일 을 봅 니 다.사용 하면?wdl 에서 xml 의 wdl 을 볼 수 있다 면 첫 번 째 단 계 는 성공 한 셈 이다.그 중에서 주의해 야 할 것 은 웹.config 는 http Handler 에서 두 개의 노드 가 매우 중요 하 다 는 것 이다.

<remove verb="*" path="*.asmx"/>
<add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
이 두 개의 성명 은 ScriptHandler Factory 로 하여 금 웹 서비스 요청 을 처리 하 게 한다.ajax 요청 이용 시 httprequest.setRequestHeader("Content-Type", "application/json"); 이 말 을 더 하면 기본적으로 되 돌아 오 는 것 이 JSON 이다.웹.CONFIG 와 관련 된 dll 파일 을 첨부 하 십시오.c# jsonc\#코드 를 만 들 때 도 마찬가지 입 니 다.

좋은 웹페이지 즐겨찾기