----------根据其他网友总结
1.在契约接口上添加:[WebInvoke(RequestFormat=WebMessageFormat.Json,ResponseFormat=WebMessageFormat.Json,BodyStyle=WebMessageBodyStyle.WrappedRequest)]
2.在实现契约的的服务上添加标记:[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
3.配置文件:
<system.serviceModel>
<services >
<service name="WebApplication1.guo" >
<endpoint address="" behaviorConfiguration="DiggServiceBehavior" binding="webHttpBinding" contract="WebApplication1.Iguo" />
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="AllenBehavior">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="false" />
</behavior>
</serviceBehaviors>
<endpointBehaviors>
<behavior name="DiggServiceBehavior">
<enableWebScript/>
</behavior>
</endpointBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
</system.serviceModel>
4.调用:
<script type="text/javascript">
function guo() {
$.ajax({
url: "guo.svc/Show",
type: 'post',
contentType: 'text/json',
data: '{"str":"guozefeng"}',
success: function (data) { alert(data.d); },
error: function (data) { alert("error"); }
});
}
</script>
-------需要注意的:
ry调用WCF的要点:
1. [WebInvoke(RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.WrappedRequest)]
2. [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
3. binding="webHttpBinding"
4. <enableWebScript/>
5. contentType: 'text/json'