我的网站目前在 ASP.NET 1.1
中工作旧流程
在我们的数据库中,我们存储了大量数据用于解码目的。我们必须每周更新这一大量数据表(数据来自供应商)。
在我们的网站(在asp.net 1.1中),我们查询我们的数据库以解码信息。
新流程
现在我们不是将数据存储在我们的数据库中并查询它们,而是希望通过Web服务替换它, AS现在供应商正在向我们提供DLL,它将为我们提供已解码的信息。
有关供应商提供的DLL的信息
提供的DLL只能添加到4.0个站点中。那也实现了我无法直接将dll添加到我的1.1站点。 这个DLL暴露了某些方法,我们只需在我们的Web服务中添加DLL引用并调用该方法并获取所需的信息。
因此,我们不必将这些信息存储在我们的数据库中。
那么我应该使用哪种类型的Web服务(asmx或WCF)来使用供应商提供的DLL来获取解码信息?
我在网络服务中寻找的灵活性是:
注意:此外,我们计划将我们的网站从asp.net 1.1迁移到4.0版本。所以它应该对未来的升级有很大的支持。
答案 0 :(得分:4)
如果我理解正确,您打算创建一个Web服务,该服务将引用供应商提供的DLL并将解码后的数据返回到您的ASP.NET 1.1网站。
我认真建议您选择WCF Web服务,因为它面向.NET 4.0 Framework。相信我,从长远来看它会得到回报。此外,根据MSDN,.asmx Web服务被认为是传统技术(随时咨询MSDN)。 继续使用WCF,不要以缺点开始!
答案 1 :(得分:0)
如果您想暂时使用asp.net 1.1,asmx服务是您的唯一选择。进一步建议使用asmx服务 - 它依次使用ajax并兼容不同的平台(事实上,它是一个soap服务),并且你可以获得良好的互操作性。
此外,我在这里有点困惑。如果您有服务提供商提供的DLL,您可能根本没有选择。它将决定使用哪个服务与提供者数据源进行通信。您的提供商是否可以选择?
答案 2 :(得分:0)
WCf比以前使用的旧式肥皂更加灵活,以前是ajax, 现在wcf是更加面向服务的架构。所以不再使用webservice
答案 3 :(得分:0)
由于WCF通过SOAP协议进行通信,我建议您最好的选择是创建一个单独的.Net 4.0 Web服务项目(如果您愿意,可以在同一个解决方案中),然后您的.Net 1.1网站可以引用该项目。
您也可以“重新装饰”新的WCF方法,将其作为ASMX Web服务公开,以便与网站向后兼容,并减少分阶段迁移的停机时间,请参阅this post.或者,再多一点如果您希望立即在客户端中切换服务调用,Microsoft会提供exposing WCF to an ASMX client指南。我能看到的最简单的方法是简单地将现有的asmx服务代码复制粘贴到.Net4项目中,并替换方法以在适当的情况下使用新的dll see this post。
当迁移完成并重构.Net 1.1站点以编译和利用.Net 4的新功能时,该服务可以再次移动到主网站项目中(如果您愿意),但我个人更喜欢保留它们分开。
迁移到WCF和.Net 4应该带来许多好处,微软已经添加了simple ways to improve your program分配,WCF分配更灵活,可以被更广泛的客户端使用({{3} })我发现现在越来越难以找到对传统技术的支持。
HTH