我有一个由其他开发人员在此处编写的Web服务。

服务本身是用C#编写的。我在两个地方称呼它。在我的Windows VB.NET应用程序中,它可以很好地工作-我可以将引用添加到Web服务并调用该类的实例。

但是,当我尝试在页面后面的ASPX.VB代码中执行完全相同的操作时,我发现即使intellisense可以识别类和方法,当我尝试将对象创建为该类的新实例时,也会告诉我没有定义。

为了我们的目的,我将服务实例称为myWebSvc
在此服务的顶部,公共类名为“ Service1”

我已经将Web参考添加到该网站,并且可以尝试将其设置为:

Dim objSvc as myWebSvc.Service1 = New myWebSvc.Service1


这使我得到以下编译错误:


  编译器错误消息:BC30002:类型'myWebSvc.Service1'未定义。


我发现一些提示,也许我需要做一个代理服务来调用它,但是我似乎也无法使它起作用。该引用位于App_WebReferences / myWebSvc /中,并具有.discomap文件以及嵌套在该文件下的.disco和.wsdl文件。

最佳答案

代理类很可能未命名为myWebSvc.Service1。查看生成的代码(我想它是myWebSvc目录中的Reference.vb),并记住生成它时输入的名称,然后您会发现需要以下内容:

myWebSvcReference1.Service1Client

09-25 23:32