7

我的网站目前使用ASP.NET 1.1

旧流程

在我们的数据库中,我们存储了大量用于解码的数据。我们必须每周更新这个庞大的数据表集(数据由供应商提供)。

在我们的网站(在 asp.net 1.1 中)我们查询我们的数据库以解码信息。

新工艺

现在,我们不想将数据存储在我们的数据库中并查询它们,而是希望通过 Web 服务替换它,因为现在供应商正在向我们提供一个 DLL,它将为我们提供解码的信息

供应商提供的 DLL 信息

提供的 DLL,只能在 4.0 站点中添加。所以这也意味着我不能直接将 dll 添加到我的 1.1 站点。 这个 DLL 暴露了某些方法,我们只需在我们的 Web 服务中添加 DLL 引用并调用该方法并获取所需的信息。

因此,我们不必将这些信息存储在我们的数据库中。

那么我应该使用哪种类型的 Web 服务(asmx 或 WCF),它将使用供应商提供的 DLL 来获取解码信息?

我在网络服务中寻找的灵活性是:

  • 它可以直接从 asp.net 1.1 站点使用,也可以使用 jQuery ajax 使用
  • 它可以从服务器上运行的其他 Web 服务中使用
  • 它可以从服务器上运行的某些 Windows 服务中使用

注意此外,我们计划将来将我们的网站从 asp.net 1.1 迁移到 4.0 版本。所以它应该对未来的升级有很大的支持。

4

4 回答 4

4

如果我对您的理解正确,您打算创建一个 Web 服务,该服务将引用供应商提供的 DLL 并将解码的数据返回到您的 ASP.NET 1.1 网站。

我强烈建议您使用 WCF Web 服务,因为它针对 .NET 4.0 框架。相信我,从长远来看,它会带来回报。此外,根据 MSDN(请随时查阅 MSDN),.asmx Web 服务被认为是一种遗留技术。继续使用 WCF,不要从劣势开始!

于 2012-10-09T07:01:58.127 回答
0

如果您现在想继续使用 asp.net 1.1,那么 asmx 服务是您唯一的选择。进一步建议使用 asmx 服务 - 该服务反过来使用 ajax 并兼容不同的平台(实际上,它是一种肥皂服务),并且您可以与它实现出色的互操作性。

此外,我在这里有点困惑。如果您拥有由服务提供商提供的 dll,您可能根本别无选择。DLL 将决定使用哪个服务与提供者数据源进行通信。您的供应商是否给您选择?

于 2012-10-06T07:16:54.527 回答
0

WCf 比 Web 服务更灵活,老式使用的 soap 它以前是 ajax,现在 wcf 是更面向服务的架构。所以不要再使用 Web 服务了

于 2012-10-09T09:31:09.663 回答
0

由于 WCF 通过 SOAP 协议进行通信,我建议您最好的选择是创建一个单独的 .Net 4.0 Web 服务项目(如果您愿意,可以在同一解决方案中),然后您的 .Net 1.1 网站可以引用该项目。

您还可以“双重装饰”您的新 WCF 方法,将它们公开为 ASMX Web 服务,以便与网站向后兼容,并通过分阶段迁移减少停机时间,请参阅这篇文章。或者,多做一些工作,并且如果您希望立即在客户端中切换服务调用,Microsoft 提供了将 WCF 暴露给 ASMX 客户端的指南。我能看到的最简单的方法是简单地将现有的 asmx 服务代码复制粘贴到 .Net4 项目中,并在适当的地方替换使用新 dll 的方法,请参阅这篇文章

当迁移完成并重构 .Net 1.1 站点以编译和利用 .Net 4 的新功能时,该服务可以再次移动到主网站项目中(如果您愿意),尽管我个人更愿意将它们分开。

迁移到 WCF 和 .Net 4 应该带来很多好处,Microsoft 已经添加了许多简单的方法来改进您的程序,WCF 更加灵活,并且可以被更广泛的客户端使用(见这里),我发现找到对遗留技术的支持变得越来越困难。

高温高压

于 2012-10-09T09:40:56.627 回答