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 } });