第一节:ExtJS调用WCF系列-----实现JSON传递
2007-12-07 18:14
363 查看
首先我们打开我们的VS 新建一个Asp.Net WebApplication Project,(不要给我说新建网站,我讨厌那个东东) 命名为ExtJSAndWCFChapter1 如图:
using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Runtime.Serialization;
namespace ExtJSAndWCFChapter1
接下来编写EmployeeService.cs的代码,代码如下:
using System;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.ServiceModel.Activation;
using System.ServiceModel.Web;
using System.Collections.Generic;
namespace ExtJSAndWCFChapter1
主要就是这一句 [WebInvoke(BodyStyle = WebMessageBodyStyle.Wrapped, RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, UriTemplate = "/Create")]
意思就是说这个方法传递输入和输出参数都是Json形式,并且可以用后面加Create的形式来访问该方法,至于前面那个BodyStyle = WebMessageBodyStyle.Wrapped是什么意思留着下节详细说明
接下来修改Web.Config文件,其实只是是把<enableWebScript /> 替换为<webHttp/>代码如下(一部分)
<system.serviceModel>
<behaviors>
<endpointBehaviors>
<behavior name="ExtJSAndWCFChapter1.EmployeeServiceAspNetAjaxBehavior">
<!--<enableWebScript />-->
<webHttp/>
</behavior>
</endpointBehaviors>
</behaviors>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true"/>
<services>
<service name="ExtJSAndWCFChapter1.EmployeeService">
<endpoint address="" behaviorConfiguration="ExtJSAndWCFChapter1.EmployeeServiceAspNetAjaxBehavior" binding="webHttpBinding" contract="ExtJSAndWCFChapter1.EmployeeService"/>
</service>
</services>
</system.serviceModel>
现在可以编译并访问那个EmployeeService.svc文件,后面加上UriTemplate的值:例如http://localhost:1481/EmployeeService.svc/get。会得到“Method not allowed”的提示。如果访问出现错误,请确认修改的Web.Config是否正确。
接下来编写Default.aspx的代码:代码如下
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="ExtJSAndWCFChapter1._Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
<link rel="stylesheet" type="text/css" href="ExtJS/resources/css/ext-all.css" />
<!-- GC -->
<!-- LIBS -->
<script type="text/javascript" src="ExtJS/adapter/ext/ext-base.js"></script>
<script type="text/javascript" src="ExtJS/ext-all-debug.js"></script>
<script type="text/javascript" src="ExtJS/ext-all.js"></script>
<!-- ENDLIBS -->
<script type="text/javascript" language="javascript">
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<h3>
Create:</h3>
<p id="create-p">
</p>
<h3>
Get:</h3>
<p id="get-p">
</p>
<h3>
GetAll:</h3>
<p id="getall-p">
</p>
<h3>
GetByNum:</h3>
<p id="GetByNum-p">
</p>
<p id="errors">
</p>
</div>
</form>
</body>
</html>
最终的运行效果:
源代码下载在这里
using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Runtime.Serialization;
namespace ExtJSAndWCFChapter1
接下来编写EmployeeService.cs的代码,代码如下:
using System;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.ServiceModel.Activation;
using System.ServiceModel.Web;
using System.Collections.Generic;
namespace ExtJSAndWCFChapter1
主要就是这一句 [WebInvoke(BodyStyle = WebMessageBodyStyle.Wrapped, RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, UriTemplate = "/Create")]
意思就是说这个方法传递输入和输出参数都是Json形式,并且可以用后面加Create的形式来访问该方法,至于前面那个BodyStyle = WebMessageBodyStyle.Wrapped是什么意思留着下节详细说明
接下来修改Web.Config文件,其实只是是把<enableWebScript /> 替换为<webHttp/>代码如下(一部分)
<system.serviceModel>
<behaviors>
<endpointBehaviors>
<behavior name="ExtJSAndWCFChapter1.EmployeeServiceAspNetAjaxBehavior">
<!--<enableWebScript />-->
<webHttp/>
</behavior>
</endpointBehaviors>
</behaviors>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true"/>
<services>
<service name="ExtJSAndWCFChapter1.EmployeeService">
<endpoint address="" behaviorConfiguration="ExtJSAndWCFChapter1.EmployeeServiceAspNetAjaxBehavior" binding="webHttpBinding" contract="ExtJSAndWCFChapter1.EmployeeService"/>
</service>
</services>
</system.serviceModel>
现在可以编译并访问那个EmployeeService.svc文件,后面加上UriTemplate的值:例如http://localhost:1481/EmployeeService.svc/get。会得到“Method not allowed”的提示。如果访问出现错误,请确认修改的Web.Config是否正确。
接下来编写Default.aspx的代码:代码如下
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="ExtJSAndWCFChapter1._Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
<link rel="stylesheet" type="text/css" href="ExtJS/resources/css/ext-all.css" />
<!-- GC -->
<!-- LIBS -->
<script type="text/javascript" src="ExtJS/adapter/ext/ext-base.js"></script>
<script type="text/javascript" src="ExtJS/ext-all-debug.js"></script>
<script type="text/javascript" src="ExtJS/ext-all.js"></script>
<!-- ENDLIBS -->
<script type="text/javascript" language="javascript">
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<h3>
Create:</h3>
<p id="create-p">
</p>
<h3>
Get:</h3>
<p id="get-p">
</p>
<h3>
GetAll:</h3>
<p id="getall-p">
</p>
<h3>
GetByNum:</h3>
<p id="GetByNum-p">
</p>
<p id="errors">
</p>
</div>
</form>
</body>
</html>
最终的运行效果:
源代码下载在这里
相关文章推荐
- 第一节:ExtJS调用WCF系列-----实现JSON传递
- ExtJS调用WCF-----实现JSON传递
- ExtJS调用WCF-----实现JSON传递
- 第二节:ExtJS调用WCF系列-----分页排序列表实现
- 第二节:ExtJS调用WCF系列-----分页排序列表实现
- [译]jQuery调用WCF服务传递JSON对象
- JSP中获取ExtJS.Ajax前台传递的JSON数据实现过程
- jQuery调用WCF服务传递JSON对象
- 实现在GET请求下调用WCF服务时传递对象(复合类型)参数
- ExtJS调用WCF系列
- WCF服务——jQuery调用传递JSON对象、XML对象
- 调用WCF传递JSON格式数据
- SilverLight企业应用框架设计【五】客户端调用服务端(使用JSON传递数据,自己实现RESTful Web服务)
- 第三节:ExtJS调用WCF系列-----添加,修改,删除
- ExtJS调用WCF系列
- jQuery调用WCF服务传递JSON对象
- 第三节:ExtJS调用WCF系列-----添加,修改,删除
- 实现在GET请求下调用WCF服务时传递对象(复合类型)参数
- jQuery调用WCF服务传递JSON对象
- JSP中获取ExtJS.Ajax前台传递的JSON数据实现过程