是否可以将WCF服务添加到asp.net 2.0网站?

时间:2013-05-30 20:23:41

标签: asp.net wcf web

我知道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。

2 个答案:

答案 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 ...... 可能还有其他链接可以提供帮助。