2010-01-14 105 views
1

我创建使用VS 2005Web服务.NET 2.0,部署和消费

  1. 我的第一个问题是我能新增超过1服务(ASMX)一个单独的Web服务项目文件 和单独使用它们webservice项目?
  2. 如何发布他们并使用/呼叫/消费他们从不同的网站? (我知道如何使用他们,当他们在同一个项目,但不同 项目有点混乱)
  3. 我如何保护他们,使他们可以通过身份验证的用户/应用程序?

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

回答

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

啊网络引用,我不记得如何链接到.NET中的Web服务。 –

+1

是的,尽管没有什么能够阻止你使用wsdl.exe命令行util直接输出到你的项目中。 –

0

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

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

[WebMethod] 

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

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

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

我该如何确保它们能够通过经过认证的用户/应用程序使其可用?

你可能想要管理这个在IIS的一面。尽管可能对您的Web服务进行一些基本身份验证,但检查用户名,但在到达Web服务之前处理此问题可能更有效。

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