我正在尝试在Visual Studio中设置.NET 3.5 Web服务项目。我的目标是在此Web服务中包含一个名称空间,我可以将其公开给引用此Web服务的Web应用程序。
如下所示,我添加了命名空间“MyWebservices”,但在引用Web服务后我无法找到它。
Service1.asmx.vb
Imports System.Web.Services
Imports System.Web.Services.Protocols
Imports System.ComponentModel
Namespace MyWebservices
' To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line.
' <System.Web.Script.Services.ScriptService()> _
<System.Web.Services.WebService(Namespace:="http://tempuri.org/")> _
<System.Web.Services.WebServiceBinding(ConformsTo:=WsiProfiles.BasicProfile1_1)> _
<ToolboxItem(False)> _
Public Class Service1
Inherits System.Web.Services.WebService
<WebMethod()> _
Public Function HelloWorld() As String
Return "Hello World"
End Function
End Class
End Namespace
Service1.asmx的
<%@ WebService Language="VB" CodeBehind="Service1.asmx.vb" Class="WebService1.MyWebservices.Service1" %>
注意:我还尝试修改Web服务项目的“根命名空间”属性,但我无法让它为我工作。
答案 0 :(得分:0)
我认为你的asmx文件头的class属性是错误的。它应该是MyWebservices.Service1
而不是WebService1.MyWebservices.Service1
。
答案 1 :(得分:0)
使用命名空间时使用Class=MyWebServices.Webservices1.Service1, MyWebServices.Webservices1
。
答案 2 :(得分:0)
您无法以任何方式将.NET命名空间公开给客户端。例如,假设PHP不知道.NET名称空间是什么,你就会意识到为什么不能通过像Web服务这样的跨平台技术来展示这样的东西。