【问题标题】:Access ASMX webservice without a config file, switch between environments无需配置文件即可访问 ASMX Web 服务,在环境之间切换
【发布时间】:2012-11-14 22:00:48
【问题描述】:

我在几台运行 Windows 2000 的客户端 PC 上只能使用 .Net 2.0。(它们运行的​​其他专有软件在任何其他操作系统上都会失败)

我希望能够从一个 .net DLL 访问一些 web 服务,该 DLL 被一个 VB6 DLL 调用,该 DLL 被(等待它)调用......一个 COBOL 应用程序。 (我完全清楚这是一个次优环境)。我的理解是在这种情况下我无法访问配置文件。我也希望能够在环境之间切换。

我希望能够创建 2.0 网络服务并在代码中对其进行配置。我一直在通过谷歌搜索,但我能找到的只是 WCF 服务示例。

这可能吗? 你拿到密码了吗?

【问题讨论】:

  • 你必须使用 WSE 吗?它比 .NET 2.0 还要过时。
  • 我对这些技术不是很熟悉,我认为 WSE 和 2.0 服务是同义词,也许我没有使用 WSE,我会检查一下。
  • 更糟糕的是,您可能正在使用 WSE 2.0。 WSE 的最新和最过时的版本是 3.0。
  • 我毕竟没有使用 WSE。
  • 您知道 Windows 2000 已经停产,对吧?您是否理解这意味着 Windows 2000 甚至不再收到关键的安全补丁?完全摆脱该系统应该是重中之重,因为它的安全性不再有任何形式的保证。

标签: .net web-services vb6 .net-2.0 asmx


【解决方案1】:

事实证明,Framework 2.0 Web 服务(在 Visual Studio 2010 中)甚至不需要配置文件。当您创建 Web 引用时,它会烘焙所有内容。您可以在 Web 配置中注释掉整个 system.serviceModel 部分,它会运行良好(使用默认值)。然后你就可以设置网址了。

   Friend Shared Function CreateContractsServiceInstance(UseLive As Boolean) As ContractsService.ContractsWebService

    Dim client As New ContractsService.ContractsWebService()

    If UseLive Then
        client.Url = "http://xxx/livecontracting/WebService.asmx"
    Else
        client.Url = "http://xxx/contractstest/WebService.asmx"
    End If

    Return client

End Function

【讨论】:

  • 您甚至不需要两个参考。您只需将引用的 Url 属性更改为所需的 URL。
  • 谢谢约翰,好多了。
猜你喜欢
  • 1970-01-01
  • 2011-02-17
  • 2013-05-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多