我有一个asp.net Web服务,我想从同一服务器上的另一个asp.net页面使用。
原因是我正在使用Ajax来验证用户名是否被采用以及他们是否仍然提交。我不想在本地函数中重写代码,而是希望服务器能够调用web服务,但是当我在服务引用下注册它时,我会得到一些有趣的东西,比如
GetUsernameAvailableRequest
GetUsernameAvailableRequestBody
等而不仅仅是一个调用的函数....有谁知道我在做错了什么?是否可以在我的项目中调用像本地函数这样的Web服务,或者我是否需要创建具有相同功能的新函数?
答案 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。这是你必须创建一个实例的对象。它将具有调用服务的方法。