인사말!WCF Newbie 질문 : JavaScript에서 메서드 호출
저는 WCF를 처음 접했고 ASP.NET 웹 서비스와 비슷하다고 생각했지만 클라이언트 측 JavaScript에서 메서드를 호출 할 수 없습니다.
<form id="form1" runat="server">
<div>
<asp:ScriptManager ID="ScriptManager1" runat="server">
<Scripts>
<asp:ScriptReference Path="~/test.js" />
</Scripts>
<Services>
<asp:ServiceReference Path="~/MyService.svc" />
</Services>
</asp:ScriptManager>
</div>
<button onclick="test()">Click Me</button>
</form>
내 서비스의 인터페이스는 다음과 같습니다 :
namespace Test
{
[ServiceContract(Namespace = "Test")]
public interface IMyService
{
[OperationContract]
void DoWork();
[OperationContract]
string SayHi();
}
}
을 그리고 여기 그 구현의 :
namespace Test
{
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
public class MyService : IMyService
{
public void DoWork()
{
}
public string SayHi()
{
return "Hello, World!";
}
}
}
그리고 마지막으로 자바 스크립트 :
function test() {
Test.MyService.SayHi(SayHiSuccess, SayHiError);
}
function SayHiSuccess(result) {
alert(result[0]);
}
function SayHiError(error) {
alert(error.toString());
}
내 웹 양식은 다음과 같습니다
서비스의 SayHi() 메서드는 절대로 실행되지 않습니다. 물론 문제 해결 방법이나 이유가 확실하지 않습니다. 어떤 제안?