在本地应用程序中使用Web服务

时间:2011-04-28 00:08:06

标签: c# asp.net web-services

我有一个asp.net Web服务,我想从同一服务器上的另一个asp.net页面使用。

原因是我正在使用Ajax来验证用户名是否被采用以及他们是否仍然提交。我不想在本地函数中重写代码,而是希望服务器能够调用web服务,但是当我在服务引用下注册它时,我会得到一些有趣的东西,比如

GetUsernameAvailableRequest
GetUsernameAvailableRequestBody

等而不仅仅是一个调用的函数....有谁知道我在做错了什么?是否可以在我的项目中调用像本地函数这样的Web服务,或者我是否需要创建具有相同功能的新函数?

3 个答案:

答案 0 :(得分:3)

是的,它完全有可能(甚至推荐的架构)。

确保您已将Web服务添加为VS中的WebService,然后它将自动从WSDL创建代理类型。

您需要实例化您的网络服务,然后您可以使用您方法中公开的方法。

E.g。

using (WebServiceType service = new WebServiceType()){
    string result = service.Method();
}

假设您有一个名为Method()的方法,而您的服务类型为WebServiceType

答案 1 :(得分:0)

我无法告诉你为什么会发生这种情况,但在我正在进行的项目中确实发生了这种情况。你可以看到我问的related question

FYI;我相信你有一个GetUsernameAvailableResponse对象,你可以在对象中找到你想要的响应。

答案 2 :(得分:0)

在对象浏览器中查看所有生成的类。其中一个将是像 myservice SoapClient。这是你必须创建一个实例的对象。它将具有调用服务的方法。