Проблема при добавлении ссылки на веб-сервис / сервис на странице aspx - PullRequest
0 голосов
/ 16 сентября 2011

Я думаю, что правильно понял web.config, но я хотел бы знать, как добавить ссылку на службу или сам веб-сервис на страницу aspx, чтобы мой скрипт мог получить к ней доступ.

вот что я сделал, но это не работает:

<%@ ServiceHost Language=C# Service="WebService" CodeBehind="http://urlToMyService.svc"%>

<asp:ScriptManager ID="ScriptManager1" runat="server">
   <Services>
      <asp:ServiceReference 
         Path="http://urlToMyService.svc"/>
   </Services>
</asp:ScriptManager>

Я думаю, что мне нужно добавить <%@ ServiceHost %> и <asp:ScriptManager>, но я бы хотел более четкий пример для каждого параметра, который мне нужно включить.

1 Ответ

1 голос
/ 16 сентября 2011

Вы можете добавлять только ссылки на локальные сервисы (то есть сервисы, существующие в вашем веб-приложении ASP.NET). Таким образом, типичный сервисный справочник выглядит как

<asp:ScriptManager ID="ScriptManager1" runat="server">
    <Services>
        <asp:ServiceReference Path="~/HelloWorldService.svc" />
    </Services>
</asp:ScriptManager>

на странице aspx (или главная страница или пользовательский элемент управления). Вам не нужно <%@ ServiceHost %> и т. Д. - это появится в файле svc.

Обратите внимание, что добавление ссылки на службу к ScriptManager создает прокси-сервер службы java-скрипта, который упростит вызов вашего веб-сервиса из java-скрипта. Это не полезно для вызова службы из кода (на стороне сервера). Смотрите этот учебник, чтобы начать вызывать сервисы из java-скрипта: http://www.codeproject.com/KB/aspnet/wcfinjavascript.aspx

Для вызова служб из кода на стороне сервера необходимо добавить ссылку на службу из Visual Studio (щелкните правой кнопкой мыши свой проект и выберите контекстное меню «Добавить ссылку на службу») - в этом случае VS генерирует код прокси для вызова сервис.

...