ASP.NET Webmethod始终返回401

ASP.NET Webmethod始终返回401,asp.net,jquery,vb.net,ajax,Asp.net,Jquery,Vb.net,Ajax,由于asp.net权限疯狂而生病。。。 这一次,我无法调用任何类型的webmethod,或者我只能得到: {"Message":"Authentication failed.","StackTrace":null,"ExceptionType":"System.InvalidOperationException"} 代码: 我知道在成功的事情上有一些错误。这不是现在的问题。 当我尝试ajax调用时,Firebug控制台总是返回401 有人吗 Webmethod应该是shared(vb)/sta

由于asp.net权限疯狂而生病。。。 这一次,我无法调用任何类型的webmethod,或者我只能得到:

{"Message":"Authentication failed.","StackTrace":null,"ExceptionType":"System.InvalidOperationException"}
代码:

我知道在成功的事情上有一些错误。这不是现在的问题。 当我尝试ajax调用时,Firebug控制台总是返回401

有人吗

  • Webmethod应该是shared(vb)/static(C#)如果出现错误500,请将您的方法标记为shared/static,这样您就完成了

  • 关于错误401:如果您正在使用表单身份验证,请记住通过在web.config上执行此操作来允许匿名访问您的登录页:

    <location path="Login.aspx">
      <system.web>
        <authorization>
          <allow users="*"/>
        </authorization>
      </system.web>
    </location>
    
    
    

  • 这些步骤解决了我的问题

    1) 在web.config中添加以下代码

      <system.web>
       <authorization>
         <allow users="*"/>
       </authorization>
     </system.web>
    
    
    

    您在web配置中设置了什么身份验证?我假设您向拥有[大量验证]占位符的客户机颁发身份验证密钥?
    <location path="Login.aspx">
      <system.web>
        <authorization>
          <allow users="*"/>
        </authorization>
      </system.web>
    </location>
    
      <system.web>
       <authorization>
         <allow users="*"/>
       </authorization>
     </system.web>
    
      $.ajax({
        url: '<%= ResolveUrl("userForm.aspx/getAllUsers") %>',
        async: false,
        contentType: 'application/json; charset=utf-8',
        success: function (data) {
          source.localdata = data.d;
        },
        error: function (err) {
          alert('Error: ' + err);
        }
      })