gpt4 book ai didi

jquery - 使用 HTTPGET 的 C#.NET Web 服务返回 System.IndexOutOfRangeException

转载 作者:行者123 更新时间:2023-12-01 00:25:39 25 4
gpt4 key购买 nike

我已设置此示例 Web 服务来调查错误来源:

    namespace userControlPanel.webservice
{
/// <summary>
/// Summary description for WebService1
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line.
[System.Web.Script.Services.ScriptService]
public class WebService1 : System.Web.Services.WebService
{
[WebMethod]
[ScriptMethod(UseHttpGet = true, ResponseFormat = ResponseFormat.Json)]
public OutputData1 AjaxGetMore(InputData1 input)
{
return new OutputData1()
{
id = input.id,
message = "it's work!",
myInt = input.myInt + 1
};
}

}
public class OutputData1
{
public string id { get; set; }
public string message { get; set; }
public int myInt { get; set; }
}
public class InputData1
{
public string id { get; set; }
public int myInt { get; set; }
}

}

它基于此处的示例

所以我尝试在这里获取结果:

http://localhost:57109/webservice/WebService1.asmx/AjaxGet?id=li1234

我得到了结果,

 System.IndexOutOfRangeException: Index was outside the bounds of the array
at System.Web.Services.Protocols.HttpServerType..ctor(Type type)
at System.Web.Services.Protocols.HttpServerProtocol.Initialize()
at System.Web.Services.Protocols.ServerProtocolFactory.Create(Type type, HttpContext context, HttpRequest request, HttpResponse response, Boolean& abortProcessing)

所以,我认为它是 web.config 对吗?所以我实现了建议的设置(PS,我还创建了一个 HTTP-POST Web 服务,它工作得很好)

来自 web.config:

<webServices>
<protocols>
<add name="HttpPost"/>
<add name="HttpPostLocalhost"/>
<add name="HttpGet"/>
</protocols>
</webServices>

<httpHandlers>
<add verb="*" path="*.asmx" type="System.Web.Script.Services.ScriptHandlerFactory" validate="false"/>
</httpHandlers>
</system.web>

最佳答案

事实证明,这个问题是我的一些糟糕的代码重构和类/命名空间问题造成的。

另外,想指出的是,在使用 jQuery Web 服务时远离 HTTPGET 是一个好主意,我读过的重新信息 here

关于jquery - 使用 HTTPGET 的 C#.NET Web 服务返回 System.IndexOutOfRangeException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3553950/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com