【问题标题】:Web Service .net 2.0 , deploying and consumingWeb Service .net 2.0,部署和使用
【发布时间】:2010-01-14 15:15:01
【问题描述】:

我使用 VS 2005 创建了一个单独的 Web 服务项目。

  1. 我的第一个问题是我可以添加多个服务 (asmx) 文件吗 并在单个 Web 服务项目中使用它们?
  2. 如何从不同的网站发布和使用/调用/使用它们? (我知道当它们在同一个项目中但不同时如何使用它们 项目有点混乱)
  3. 如何保护它们以使经过身份验证的用户/应用可以使用它们?

使用 VS 2005、.net 2.0、VB.NET(我不能使用 WCF)

【问题讨论】:

    标签: .net asp.net wcf web-services asmx


    【解决方案1】:
    1. 是的,这是完全可能的。只要他们进入同一个 Web 服务项目在逻辑上是合理的,那就没问题了。
    2. 只需像发布普通网站一样发布它们。从 VS.NET 中进行 XCOPY 部署或发布。您可以通过在您想要使用 Web 服务的项目中“添加 Web 引用”来创建客户端代理,然后通过 HTTP 浏览到/选择本地 .asmx 端点。在后台,它将为您生成一个带有相关数据类型的 SOAP 客户端代理类(通过调用 wsdl.exe)。
    3. 为了保护这些,请查看MSDN docs here

    【讨论】:

    • 啊网络参考,我不记得如何链接到 .NET 中的网络服务。
    • 是的,虽然没有什么可以阻止您使用 wsdl.exe 命令行 util direct 并将输出导入到您的项目中。
    【解决方案2】:

    我的第一个问题是我可以添加多个服务 (asmx) 文件和 在单个 Web 服务项目中使用它们?

    您可以为您的网络服务添加多个入口点,这样调用不同的 URL 将调用不同的行为。您可以通过添加

    [WebMethod]
    

    在您的 Service.cs 文件中的公共方法前面。

    如何从不同的网站发布它们并使用/调用/使用它们? (我知道当它们在同一个项目中时如何使用它们,但不同的项目有点混乱)

    您可以生成代码以与基于 WSDL 文件的 Web 服务进行交互。我不确定您如何在 .NET 中执行此操作,但在 Java 中,有一个命令行工具可以生成类以与来自其他应用程序的 SOAP 服务进行交互。这毕竟是 Web 服务的全部意义所在。

    我如何保护它们以使经过身份验证的用户/应用程序可以使用它们?

    您可能希望在 IIS 方面进行管理。虽然可能对您的 Web 服务进行一些基本身份验证但检查用户名,但在您访问您的 Web 服务之前处理此问题可能更有效。

    您还可以使用 Web.config 文件的身份验证属性配置基本身份验证。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-17
      • 1970-01-01
      相关资源
      最近更新 更多