【问题标题】:Error in asp.net webserviceasp.net 网络服务中的错误
【发布时间】:2014-11-27 06:28:35
【问题描述】:

我的asmx webservice是这样的

   using System;
using System.Collections.Generic;
using System.Data;
using System.Web;
using System.Web.Script.Services;
using System.Web.Services;
using Newtonsoft.Json;

[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[ScriptService]
public class GetRateRequestData : WebService
{
    [WebMethod]
    [ScriptMethod(ResponseFormat = ResponseFormat.Json)]
    public string GetParcelLookupData()
    {

            return JsonConvert.SerializeObject(dataSet, Formatting.Indented);

    }
}

我正在尝试像这样访问浏览器中的数据

http://localhost:53569/services/GetRateRequestData.asmx/GetParcelLookupData/

但这会引发类似的错误

    System.InvalidOperationException: GetParcelLookupData/ Web Service method name is not valid.
   at System.Web.Services.Protocols.HttpServerProtocol.Initialize()
   at System.Web.Services.Protocols.ServerProtocolFactory.Create(Type type, HttpContext context, HttpRequest request, HttpResponse response, Boolean& abortProcessing)

我是网络服务的新手,谁能指出我在这里做错了什么?

【问题讨论】:

  • 公开你的方法
  • @SainPradeep 抱歉,实际上是公开的
  • 你仍然遇到同样的错误。
  • @SainPradeep 其实从一开始就是公开的,我只是在这里粘贴了错误的代码。所以是的,错误是一样的
  • 你使用的是哪个框架?

标签: c# asp.net web-services asmx


【解决方案1】:

您可以修饰您的方法以允许 HTTP GET 请求

[WebMethod]  
[ScriptMethod(UseHttpGet=true)]
public string MyMethod(int myint)
{
    // ... code here
}

并更改您的配置,如下所示

<system.web>
<webServices>
  <protocols>
    <add name="HttpGet"/>
</protocols>
</webServices>

【讨论】:

  • 我认为这也是解决方案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多