2010-01-06 80 views
0

我想在Visual Studio中设置.NET 3.5 Web服务项目。我的目标是在这个Web服务中包含一个名称空间,我可以将它暴露给引用此Web服务的Web应用程序。.NET 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

不能以任何方式将.NET命名空间公开给客户端。例如,假设PHP不知道.NET命名空间是什么,你会明白为什么这样的事情不能通过像Web服务这样的跨平台技术暴露出来。

0

我认为你的asmx文件头的class属性是错误的。它应该是MyWebservices.Service1而不是WebService1.MyWebservices.Service1

+0

如果我拿出“WebService1”部分,我得到一个解析器错误。 “无法创建类型'MyWebservices.Service1'。” – Kikuchiyosesa 2010-01-08 20:07:31

0

使用命名空间时使用Class=MyWebServices.Webservices1.Service1, MyWebServices.Webservices1

相关问题