0

我想我的 web.config 是正确的,但我想知道如何在 aspx 页面上添加服务引用或 Web 服务本身,以便我的脚本可以访问它。

这是我所做的,但它不起作用:

<%@ 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 %>and<asp:ScriptManager>但我想要一个关于我需要包含的每个参数的更清晰的示例。

4

1 回答 1

1

您只能添加对本地服务(即存在于您的 ASP.NET Web 应用程序中的服务)的引用。所以典型的服务参考就像

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

aspx 页面(或母版页或用户控件)上。您不需要<%@ ServiceHost %>等 - 将出现在svc文件中。

请注意,添加服务引用会ScriptManager生成一个 java 脚本服务代理,这将简化从 java-script 调用 Web 服务的过程。这对于从代码(在服务器端)调用服务没有用。请参阅本教程以开始从 java 脚本调用服务:http: //www.codeproject.com/KB/aspnet/wcfinjavascript.aspx

对于从服务器端代码调用服务,您必须从 Visual Studio 添加服务引用(右键单击您的项目并选择添加服务引用上下文菜单) - 在这种情况下,VS 会生成代理代码来调用服务。

于 2011-09-16T07:28:31.537 回答