效果圖:
調用過程:
string WCFURL = "http://localhost:100/Service1.svc"; UserRequest user = new UserRequest { UserName = UserName.Text, Address = Address.Text, Email = Email.Text }; string request = "{\"request\":" + new JavaScriptSerializer().Serialize(user) + "}"; string returnContent = WCFHelper.SendHttpRequest(WCFURL, "GetUserInfo", request); UserResult re = new JavaScriptSerializer().Deserialize<UserResult>(returnContent); lblText.Text = re.Result;
WCF項目中配置文件節點配置:
1 <system.serviceModel> 2 <behaviors> 3 <endpointBehaviors> 4 <behavior name="httpBehavior"> 5 <webHttp /> 6 </behavior> 7 </endpointBehaviors> 8 <serviceBehaviors> 9 <behavior name=""> 10 <serviceMetadata httpGetEnabled="true" /> 11 <serviceDebug includeExceptionDetailInFaults="false" /> 12 </behavior> 13 </serviceBehaviors> 14 </behaviors> 15 <services> 16 <service name="WCFServices.Service1"> 17 <endpoint address="" 18 behaviorConfiguration="httpBehavior" 19 binding="webHttpBinding" 20 contract="WCFServices.IService1" /> 21 </service> 22 </services> 23 </system.serviceModel>
WCF項目請求接口:
[ServiceContract] public interface IService1 { [OperationContract] [WebInvoke(Method = "POST", UriTemplate = "GetUserInfo", BodyStyle = WebMessageBodyStyle.WrappedRequest, //包裝請求,但不包裝相應 注:如果設置爲包裝相應,返回的JSON結果會加一個 殼 ResponseFormat = WebMessageFormat.Json, RequestFormat = WebMessageFormat.Json)] UserResult GetUserInfo(UserRequest request); }
WCF項目實現方法:
public UserResult GetUserInfo(Model.UserRequest request) { return new UserResult { Result = request.UserName + "地址是:" + request.Address + ",郵箱是:" + request.Email }; }
項目下載地址: http://download.csdn.net/detail/vincent_void/7676403