gpt4 book ai didi

c# - 如何为 ASP.NET webservice 发送参数

转载 作者:行者123 更新时间:2023-11-30 13:31:29 24 4
gpt4 key购买 nike

我有一个大学项目,我应该在其中实现一个使用 Web 服务的 Java 驱动的网站:一些将创建为 servlet,而另一些则应创建为 .NET“servlet”。我创建了可以调用为/loginservice/username="__________"&md5="____________"的 java servlet。都好。现在我必须在 .NET 中实现另一个服务。我创建了一个 ASP.NET Web 服务应用程序,但这种类型的应用程序使用 POST 而不是 GET。我发现这可以通过添加

来改变
[ScriptMethod(UseHttpGet=true)]

但问题是我不能像在 Java 中那样传递参数。没有办法在任何地方使用 POST,因为我不想用 Java 重写代码。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Web.Script.Services;

namespace t5_services
{
/// <summary>
/// Summary description for Service1
/// </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 Service1 : System.Web.Services.WebService
{

[WebMethod]
public string HelloWorld()
{
return "Hello World";
}

[WebMethod]
[ScriptMethod(UseHttpGet=true)]
public string Package(String packagename, String lastname)
{
return "Hello " + packagename + ": " + lastname;
}

}
}

这是C#中的代码如果我使用浏览器并手动插入值,一切正常。

但是我不能使用 GET 约定。提前谢谢你。

最佳答案

我终于通过删除解决了问题

[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]

并添加

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

到 Web.config

现在我可以调用服务了

http://localhost:2586/Service1.asm/HelloWorld?parameter1=abc&parameter2=cde

关于c# - 如何为 ASP.NET webservice 发送参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20843282/

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