【问题标题】:.NET Web Service Root Namespace.NET Web 服务根命名空间
【发布时间】:2010-01-06 18:47:12
【问题描述】:

我正在尝试在 Visual Studio 中设置一个 .NET 3.5 Web 服务项目。我的目标是在此 Web 服务中包含一个命名空间,我可以将其公开给引用此 Web 服务的 Web 应用程序。

如下所示,我添加了命名空间“MyWebservices”,但在引用网络服务后我无法找到它。

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 服务项目的“根命名空间”属性,但我也无法让它为我工作。

【问题讨论】:

    标签: .net vb.net visual-studio-2008 web-services


    【解决方案1】:

    您不能以任何方式向客户端公开 .NET 命名空间。例如,考虑到 PHP 不知道 .NET 命名空间是什么,您就会明白为什么不能通过 Web 服务等跨平台技术公开这样的东西。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

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

        【讨论】:

        • 如果我取出“WebService1”部分,我会收到解析器错误。 “无法创建类型 'MyWebservices.Service1'。”
        猜你喜欢
        • 1970-01-01
        • 2010-09-07
        • 1970-01-01
        • 2011-05-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-01-17
        相关资源
        最近更新 更多