我知道WCF在.NET 3.0及更高版本中可用。
但是我想知道是否可以在ASP.NET 2.0网站中创建有效的WCF服务Service.svc?
我们有一个原因,我们在.NET 2.0中拥有ASP.NET网站,它是一个包含大量代码的旧应用程序,构建于第三方.NET 2.0 CMS系统之上。
现在,我可以毫无问题地将WCF服务添加到网站,已创建以下文件: MyWebsite / App_Code文件/ Service1.cs MyWebsite / App_Code文件/ IService1.cs MyWebsite / Service1.svc
Everything编译得很好,我能够添加所有必需的端点,并且节点已成功创建。
但是当我导航到服务时:
http://localhost/MyWebsite/Service1.svc
我收到此错误消息:
'/ MyWebsite'应用程序中的服务器错误。 服务'Service1'具有零应用(非基础设施)端点。这可能是因为没有为您的应用程序找到配置文件,或者因为在配置文件中找不到与服务名称匹配的服务元素,或者因为在service元素中没有定义端点。
错误消息令人困惑,因为我已经定义了所有内容。 可能是因为该网站作为.NET 2.0应用程序在IIS中运行? 或者仍然可以在作为.NET 2.0应用程序运行的网站内部使用WCF服务?
澄清 该网站的IIS虚拟目录配置了ASP.NET 2.0版本。 但我们确实安装了.NET 4.0。
答案 0 :(得分:0)
您是否在web.config中配置了服务?您也可能错过了正确的机器/全局Web配置文件,因为您没有安装.NET 3.0或3.5。在这种情况下,为什么不在该机器上安装.NET 3.5?它应该与2.0兼容。
不要混淆AppPool .NET版本(因为它是针对.NET 20,3.0和3.5的2.0,它指的是基类库版本)和.NET的使用框架版本。
另一个解决方案就是在web.config中配置WCF。你在那里换了东西吗?
答案 1 :(得分:0)
了解它的价值,请参阅此要求页面:http://msdn.microsoft.com/en-us/library/ms733890.aspx
如果你看看“其他版本”,它只会回到3.0 ...... 可能还有其他链接可以提供帮助。