Доступ к C # веб-сервису через JavaScript - PullRequest
1 голос
/ 28 октября 2011

У меня возникла небольшая проблема с доступом к веб-сервису C # через JQuery. У меня есть WSDL и .svc, и я не совсем уверен, как получить доступ к нужным мне функциям. Я прочитал: http://www.andrewrowland.com/article/display/consume-dot-net-web-service-with-jquery/, но это не имеет никакого смысла, когда у меня нет страниц .asmx в моем приложении. Я знаю, что это вопрос новичка, но я действительно застрял.

Ответы [ 2 ]

2 голосов
/ 28 октября 2011

На стороне сервера вы можете опубликовать операцию сервиса с атрибутом [WebGet] или [WebInvoke],

[WebGet]
public string Get()
{
    return "Hello, world!"; 
}

Имейте в виду, что вам также понадобится использовать WebHttpBinding для функции REST, подробности см. По этой ссылке: http://weblogs.asp.net/kiyoshi/archive/2008/10/08/wcf-using-webhttpbinding-for-rest-services.aspx

Затем на стороне клиента вы можете использовать $ .ajax или $ .get для вызова функции,

$.get("http://localhost/somewcfservice.svc/Get", function (data) {
      alert(data); 
}

Первый параметр - это URI вашей сервисной операции, а второй аргумент - это функция, которую вы передаете методу $ .get в качестве обратного вызова для получения данных.

Приведенный выше код должен выдать предупреждение в браузере, которое говорит: «Привет, мир!»

Подробнее см. Здесь: http://msdn.microsoft.com/en-us/library/system.servicemodel.web.webgetattribute.aspx

1 голос
/ 28 октября 2011

Вот статья , которую вы можете прочитать.И забудьте о .asmx, если вы используете WCF.ASMX - это устаревший материал, который больше не должен использоваться.Как объяснено в статье, вы можете представить свою службу WCF с помощью конечной точки REST, чтобы она была доступна через javascript.

А вот другое руководство .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...