Jquery调用WCF

1.

using System.ServiceModel.Web;
       
namespace Web
{
    // 注意: 使用“重构”菜单上的“重命名”命令,可以同时更改代码和配置文件中的接口名“IDevService”。
    [ServiceContract]
    public interface IDevService
    {
        [OperationContract]
        [WebInvoke(RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.WrappedRequest)]
        bool GeneratePerview(string sid, string idn);
    }
}
说明: 
  1. System.ServiceModel.Web名称空间在System.ServiceModel.Web程序集下,要引用该程序集;
  2. WebMessageBodyStyle 枚举,可选值:    
Bare 不包装请求和响应。
Wrapped 包装请求和响应。
WrappedRequest 包装请求,但不包装响应。
WrappedResponse 包装响应,但不包装请求。

 2.

// 注意: 使用“重构”菜单上的“重命名”命令,可以同时更改代码、svc 和配置文件中的类名“DevService”。
    [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
    public class DevService : IDevService
    {
        /// <summary>
        /// 生成站点缩略图
        /// </summary>
        public bool GeneratePerview(string sid, string idn)
        {
            bool success = false;
            return success;
        }
  }
3. Web.config
<system.serviceModel>
    <services>
      <service name="Web.DevService" behaviorConfiguration="DevServiceBehavior">
        <endpoint address="" binding="webHttpBinding" contract="Web.IDevService" behaviorConfiguration="DevServiceBehavior"/>
        <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
      </service>
    </services>
    <behaviors>
      <serviceBehaviors>
        <behavior name="DevServiceBehavior">
          <serviceMetadata httpGetEnabled="true"/>
          <serviceDebug httpHelpPageEnabled="true" includeExceptionDetailInFaults="true"/>
        </behavior>
      </serviceBehaviors>
      <endpointBehaviors>
        <behavior name="DevServiceBehavior">
          <enableWebScript/>
        </behavior>
      </endpointBehaviors>
    </behaviors>
  </system.serviceModel>
4. html
$.ajax({
        type: "POST",
        dataType: "json",
        async: true,//是否异步请求,默认为true
        contentType: "text/json",
        url: "/DevService.svc/GeneratePerview",
        data: JSON.stringify({ domain: domainValue }),
        success: function (data) { //data.d=true }
    });
posted @ 2011-10-26 13:28  Bruce Mqy  阅读(122)  评论(0编辑  收藏  举报