Доступ к веб-сервису C # через javascript

#c# #javascript #jquery #wsdl

#c# #javascript #jquery #wsdl

Вопрос:

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

Ответ №1:

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

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

Имейте в виду, что вам также потребуется использовать webHttpBinding для остальных функций, подробности см. По этой ссылке: 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

Ответ №2:

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

И вот еще одно руководство.