测试Web方法(与浏览器/小提琴手)(Testing a web method (with brow

2019-09-16 17:40发布

我试图落实DevBridge(Jquery的自动完成http://www.devbridge.com/projects/autocomplete/jquery/ )。 这使得AJAX调用,并在他们的榜样,它使用.NET Web服务。 我计划使用Web方法。

我创建了一个名为WebMethodTest.aspx页面并添加了一个简单的Web方法吧。 代码如下:

using System;
using System.Web.Services;

public partial class WebMethodsTest : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e) { }

    [WebMethod]
    public static string Test()
    {
        return "blah blah blah";
    }
}

我没有加入到web.config中或进行任何其他设置。

通过调用浏览器和提琴手的URL( HTTP://myurl/WebMethodTest.aspx/Test )返回任何内容。

我假设我可以做一个正常的HTTP请求,它会返回字符串“等等等等等等”。

请注意:我已经做了广泛的搜索,看看是否有什么明显我已经错过了。 许多类似的问题在这里的SO和其他地方但许多围绕畸形的JSON等我想到了我的Web方法是不被调用。

所以:

  1. 正在一个正常的HTTP请求检查Web方法的一个有效方法是什么? 如果不是,怎么样?
  2. 可通过网页的方法,而不在客户端AJAX部分测试?

注:我看到很多的提到在ScriptManager的启用Web方法“解决方案”的 - 我想用ASP.NET AJAX(我不是),当这仅仅是相关的。

什么小头发,我已经离开是越来越薄。 所有的建议表示欢迎:)

TA

编辑我想我是反对(第三方一个没有返回一个JSON字符串)测试的URL可能已经超过一个Web方法以外的东西。 我认为我的应该返回到浏览器的响应太 - 这是一个坏的假设。

正如@mgnoonan指出, 是否有可能使用提琴手的请求生成器,使JSON的请求? ,具有与小提琴手测试正确的语法。

我使用的是:

POST http://xxx/WebMethods/WebMethodsTest.aspx/Test

User-Agent: Fiddler
Host: xxx
Content-Type: application/json; charset=utf-8
Content-Length: 0

这返回预期的字符串。 :)

PS是有标记为答案注释的方法吗?

文章来源: Testing a web method (with browser/Fiddler)