gpt4 book ai didi

c# - 我似乎无法从 C# Forms 应用程序调用我的 Web 服务

转载 作者:行者123 更新时间:2023-11-30 15:12:35 25 4
gpt4 key购买 nike

我有一个具有简单网络服务的网站。我可以从页面上的 javascript 成功调用 Web 服务。我需要能够从 C# 表单应用程序调用相同的 Web 服务。Web 服务代码非常简单:

[WebService(Namespace = "http://myurl.com/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.Web.Script.Services.ScriptService]
public class IDCService : System.Web.Services.WebService {

public IDCService () {
}

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

我的 javascript 有效:

        function HelloWorld() {
var yourName = $get('txtYourName').value;
alert(yourName);
IDCService.HelloWorld(HelloWorldCalback, failureCB);
}

function HelloWorldCalback(result) {
alert(result);
}

function failureCB(result) {
alert("Failed");
}

但是,当我尝试在我的 C# 代码中设置对 WS 的引用时,我希望看到的是一个具有方法“HelloWorld”的对象,而实际上我看到的是一个具有诸如“HelloWorldRequest”、“HelloWorldResponse"、"HelloWorldRequestBody"等等。

我是网络服务的新手,很困惑。任何帮助将不胜感激。

最佳答案

取决于您添加引用的方式:-)

如果您通过单击“添加 Web 引用”来添加它,则您指定了服务的位置,并为它提供了一个 namespace - 假设它将被称为“MySVC”。

在那种情况下,您应该能够在您的 Winforms 程序中执行此操作:

MySVC.MyTestService svc = new MySVC.MyTestService();
string message = svc.HelloWorld();

然后检索 HelloWorld 方法的输出。

另一方面,如果您单击“添加服务引用”(这相同 - 这将向您的 Web 服务添加 WCF 客户端代理),那么您会得到那些请求和响应对象类。您还应该获得一个 xxxxClient 类,这就是您将要使用的类:

MyWCFService.MyTestServiceSoapClient client = 
new MyWCFService.MyTestServiceSoapClient();
string message = client.HelloWorld()

这样,您也应该能够访问网络服务上的所有方法。

马克

关于c# - 我似乎无法从 C# Forms 应用程序调用我的 Web 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1145836/

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