1. 添加System.ServiceModel和System.ServiceModel.Web的引用
2.
// 契约
[ ServiceContract ]
public interface IService1
{
// [ WebGet ] // WebGet与WebInvoke冲突,只能使用一个
[ OperationContract ]
[ WebInvoke(RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.WrappedRequest,Method="GET") ]
string DoWork();
}
// 实现
// Service1.svc.cs
[ AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed) ]
public class Service1 : IService1
{
public string DoWork()
{
return System. DateTime .Now.ToString();
}
}
< behaviors >
< serviceBehaviors >
< behavior name ="WebApplication1.Service1Behavior" >
< serviceMetadata httpGetEnabled ="true" />
< serviceDebug includeExceptionDetailInFaults ="false" />
</ behavior >
</ serviceBehaviors >
< endpointBehaviors >
< behavior name ="DiggServiceBehavior" >
< enableWebScript /> <!-- impont -->
</ behavior >
</ endpointBehaviors >
</ behaviors >
< services >
< service behaviorConfiguration ="WebApplication1.Service1Behavior"
name ="WebApplication1.Service1" >
<!-- 只能使用webHttpBinding -->
< endpoint address ="" binding ="webHttpBinding" contract ="WebApplication1.IService1" behaviorConfiguration ="DiggServiceBehavior" >
< identity >
< dns value ="localhost" />
</ identity >
</ endpoint >
< endpoint address ="mex" binding ="mexHttpBinding" contract ="IMetadataExchange" />
</ service >
</ services >
调用
< script src = " http://ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.min.js " type = " text/javascript " >< / script>
< script language = " javascript " type = " text/jscript " >
$.ajax({
url: " Service1.svc/dowork " ,
type: " POST " ,
context: document.body,
contentType: ' application/json; charset=utf8 ' ,
success: function (data) {
alert( " ok: " + data);
},
error: function (xhr) {
alert( " err: " + xhr.responseText);
}
});
< / script>
http://blog.csdn.net/gisfarmer/archive/2009/07/16/4352634.aspx
http://www.cnblogs.com/binglingshui/archive/2008/12/29/1364647.html