Pagemethod не работает из файла asmx, а aspx какие-либо предложения? - PullRequest
0 голосов
/ 26 января 2012

Я использую простой метод json для вызова webmethod, но он работает с файлом aspx, т.е. url:

'myclass.aspx/myfunction'

, но он не работает, если я помещаю ту же функцию в файл asmx и меняю URL на asmx.

Что еще нужно сделать для включения службы asmx?

asmx с кодом vb: // это работает

<%@ WebService Language="VB" Class="WebService" %>

Imports System.Web
Imports System.Web.Services
Imports System.Web.Services.Protocols

' To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line.
<System.Web.Script.Services.ScriptService()> _
<WebService(Namespace:="http://tempuri.org/")> _
<WebServiceBinding(ConformsTo:=WsiProfiles.BasicProfile1_1)> _
Public Class WebService
    Inherits System.Web.Services.WebService

    <System.Web.Services.WebMethod()> _
    <System.Web.Script.Services.ScriptMethod()> _
    Public Function abc(ByVal args As String) As String
               Return returnValue
    End Function

End Class

asmx с файлом codebehind

<%@ WebService Language="VB"  CodeBehind="default.vb" Class="default" %> //this doesnt work

код файла

Imports System.Web
Imports System.Web.Services
Imports System.Web.Services.Protocols

' To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line.
<System.Web.Script.Services.ScriptService()> _
<WebService(Namespace:="http://tempuri.org/")> _
<WebServiceBinding(ConformsTo:=WsiProfiles.BasicProfile1_1)> _
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Public Class mintnow_default
    Inherits System.Web.Services.WebService

    <System.Web.Services.WebMethod()> _
    <System.Web.Script.Services.ScriptMethod()> _
    Public Function abc(ByVal args As String) As String
               Return returnValue
    End Function

End Class

Ответы [ 2 ]

1 голос
/ 26 января 2012

Вам нужно украсить свой сервис атрибутом <ScriptService>, если вы хотите иметь возможность вызывать его с помощью запроса JSON:

' you need to add the ScriptService attribute here
<System.Web.Script.Services.ScriptService>
<System.Web.Services.WebService(Namespace:="http://tempuri.org/")> _
<System.Web.Services.WebServiceBinding(ConformsTo:=WsiProfiles.BasicProfile1_1)> _
Public Class WebService1
    Inherits System.Web.Services.WebService

    <WebMethod()> _
    Public Function MyFunction() As String
       Return "Hello World"
    End Function

End Class
0 голосов
/ 26 января 2012

Вам придется удалить ключевое слово Shared из методов обслуживания.

...