【发布时间】:2013-05-31 04:56:33
【问题描述】:
我知道 WCF 在 .NET 3.0 及更高版本中可用。
但是我想知道是否可以在 ASP.NET 2.0 网站中创建工作 WCF 服务 Service.svc ?
我们在 .NET 2.0 中拥有 ASP.NET 网站是有原因的,它是一个具有大量代码的旧应用程序,构建在第三方 .NET 2.0 CMS 系统之上。
现在,我可以毫无问题地将 WCF 服务添加到网站,创建了以下文件: 我的网站/App_Code/Service1.cs 我的网站/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。
【问题讨论】:
-
是否有特定原因需要将其与同一网站分开?为什么不为服务创建一个新的解决方案?
-
为什么不直接在网站下创建一个虚拟目录,把它做成一个应用程序,然后做成.NET 4.0呢?
-
乔治,单独的项目可以完成没有问题,真的。但是,是的,该网站很大,并且大量的功能驻留在 ascx 控件中(不是我的设计 :),所以我想重用该功能,而不是在单独的项目中复制这么多代码。
-
约翰,你能做到吗?如何在 .net 2.0 网站中创建一个 asp.net 4.0 应用程序?我们有一个非常过时的环境,在 DEV 机器上我有 IIS 5,服务器有 IIS 6。