구글링을 해봐도 잘 되는게 없어서 삽질끝에 방법을 찾아 공유하고자 합니다.
소스를 보는게 이해가 빠르니..소스로~ 옵션이나 설정은 구글링 해보면 다 나오니 패스 하겠습니다.web.config 에서
CommonWCF.svc 에서
namespace Search.Service { // 참고: "리팩터링" 메뉴에서 "이름 바꾸기" 명령을 사용하여 코드, svc 및 config 파일에서 클래스 이름 "Service1"을 변경할 수 있습니다. [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)] public class CommonWCF : ICommonWCF { public string getData(string sSystemName, string sCollID, string sQuery, string g_sUseKMA, string g_sIsCase, string sStartPage, string sPerPageCount, string g_sSortType, string g_sSortOrder, string g_sDetailFlag, string emailAlias, string ExQuery) { } } }위의 소스에서 [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)] 옵션을 꼭 주어야 자바 스크립트 상에서 호출이 가능합니다.
ICommonWCF.cs 파일에서는
namespace Search.Service { // 참고: "리팩터링" 메뉴에서 "이름 바꾸기" 명령을 사용하여 코드 및 config 파일에서 인터페이스 이름 "IService1"을 변경할 수 있습니다. [ServiceContract] public interface ICommonWCF { [OperationContract] void DoWork(); [OperationContract] [WebInvoke(Method = "POST", ResponseFormat = WebMessageFormat.Json)] string getData(string sSystemName, string sCollID, string sQuery, string g_sUseKMA, string g_sIsCase, string sStartPage, string sPerPageCount, string g_sSortType, string g_sSortOrder, string g_sDetailFlag, string emailAlias, string ExQuery); } }여기서 [WebInvoke(Method = "POST", ResponseFormat = WebMessageFormat.Json)] 이 옵션만 주고 BodyStyle = WebMessageBodyStyle.Wrapped 옵션은 주면 안됨니다.. 마지막으로 javascript 코드에서 해당 메서드를 요청하면 끝! contentType 타입은 안줘도 되고..dataType만 json으로 해서 주고 받으면 되요~
$.ajax({ type: "POST", url: "/Search/Service/CommonWCF.svc/getData", //WCF 웹 메소드 호출 cache: false, data: param, //WCF 웹 메소드에 검색 요청 파라미터 제공 contentType: "application/json; charset=utf-8", dataType: "json", //Json 데이터 타입으로 결과 데이터 Return success: function (msg) { }, error: function (msg) { //alert(msg.responseText); } }); }
'.NET > ASP.NET' 카테고리의 다른 글
RSA 암호화/복호화 c#(공개키 암호화) JAVA(개인키 복호화) (0) | 2020.03.19 |
---|---|
IHttpModule을 이용한 Gzip 적용 (0) | 2015.05.07 |
runat="server" 들어간 input 태그에 cs 비하인드 데이터 바인딩 방법 (0) | 2014.07.10 |
Repeater 콘트롤 DataBind() 호출 시 흐름 (0) | 2014.06.02 |
runat=server 에 의한 ID, NAME 변경 막는법 (0) | 2014.04.17 |