是否可以将WCF服务添加到asp.net 2.0网站?
我知道WCF在.NET3.0及更高版本中可用 然而,我想知道是否有可能在ASP.NET 2.0网站中创建工作的WCF service.svc 我们在.NET2.0中有ASP.NET网站是有原因的,它是一个有大量代码的老应用程序,建立在第三方.NET2.0CMS系统之上 现在,我可以毫无问题地将WCF服务添加到网站,已创建以下文件: 我的网站/应用程序代码/服务1.cs MyWebsite/App_Code/IService1.cs 我的网站/Service1.svc 一切都编译得很好,我能够添加所有必需的端点,节点创建成功 但当我导航到该服务时:是否可以将WCF服务添加到asp.net 2.0网站?,asp.net,wcf,web,Asp.net,Wcf,Web,我知道WCF在.NET3.0及更高版本中可用 然而,我想知道是否有可能在ASP.NET 2.0网站中创建工作的WCF service.svc 我们在.NET2.0中有ASP.NET网站是有原因的,它是一个有大量代码的老应用程序,建立在第三方.NET2.0CMS系统之上 现在,我可以毫无问题地将WCF服务添加到网站,已创建以下文件: 我的网站/应用程序代码/服务1.cs MyWebsite/App_Code/IService1.cs 我的网站/Service1.svc 一切都编译得很好,我能够添加
http://localhost/MyWebsite/Service1.svc
我收到以下错误消息:
“/MyWebsite”应用程序中出现服务器错误。
服务“Service1”没有应用程序非基础结构终结点。这可能是因为找不到应用程序的配置文件,或者是因为在配置文件中找不到与服务名称匹配的服务元素,或者是因为在服务元素中未定义端点
错误消息令人困惑,因为我已经定义了所有内容。
可能是因为该网站正在IIS中作为.NET 2.0应用程序运行?
或者,在作为.NET 2.0应用程序运行的网站中是否仍有可能提供WCF服务
澄清
网站的IIS虚拟目录配置为ASP.NET 2.0版本。
但是我们确实安装了.NET 4.0。您是否在web.config中配置了该服务?也可能是因为没有安装.NET 3.0或3.5,所以缺少正确的计算机/全局web配置文件。既然如此,为什么不在那台机器上安装.NET3.5呢?它应该与2.0兼容 不要混淆AppPool.NET版本,因为它是.NET 20、3.0和3.5的2.0版本,它指的是基本类库版本和使用的.NET框架版本
另一个解决方案就是在web.config中配置WCF。您是否更改了其中的某些内容?有关其价值,请参阅此要求页面: 如果你在“其他版本”下查看,它只能追溯到3.0。。。
可能还有其他链接可以提供帮助。是否有特定的原因需要将其与同一网站分开?为什么不为该服务创建一个新的解决方案?为什么不在网站下创建一个虚拟目录,使其成为一个应用程序,并使其成为.NET 4.0?乔治,单独的项目可以完成没有问题,是的。但是,是的,这个网站是巨大的,大量的功能驻留在ascx控件中,而不是我的设计:,所以我想重用这些功能,而不是在一个单独的项目中复制这么多代码。John,你能做到吗?如何在.NET2.0网站内创建asp.NET4.0应用程序?我们有一个非常过时的环境,在开发机器上我有IIS 5,服务器上有IIS 6。我安装了所有的.NET框架,包括4.0。我正在运行MVC3、WCF和所有最新的应用程序。但是,出于业务原因,此特定网站只能作为ASP.NET 2.0应用程序运行。是,在web.config中正确配置了WCF服务。如果我将IIS中应用程序的asp.net版本从2.0更改为4.0,错误消息将消失,显示wcf服务详细信息,但无法识别元数据。此外,我的计算机上没有应用程序池,我有IIS 5.1,因此您没有更改.net 3.0或3.5?的web.config。NET4对web.config的配置有约定,这可能就是代码在4.0应用程序中运行的原因。因此,当您的服务器安装了3.5二进制文件时,您应该能够在web.config中设置正确的内容使其正常工作。在那些年里,它是通过在VS2008中打开解决方案来实现的,它将为您升级配置。