Web Service .net 2.0,部署和使用

时间:2010-01-14 15:15:01

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

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

  1. 我的第一个问题是我可以添加多个服务(asmx)文件    并在单个webservice项目中使用它们?
  2. 如何发布它们并在不同的网站上使用/调用/使用它们? (我知道如何在同一个项目中使用它们但不同  项目有点令人困惑)
  3. 如何保护它们以供经过身份验证的用户/应用程序使用?
  4. 使用VS 2005,.net 2.0,VB.NET(我不能使用WCF)

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:0)

  

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

您可以向Web服务添加多个入口点,以便调用不同的URL将调用不同的行为。您可以通过添加

来完成此操作
[WebMethod]

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

  

如何发布它们并在不同的网站上使用/调用/使用它们? (我知道如何在同一个项目中使用它们,但不同的项目有点令人困惑)

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

  

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

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

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