Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否可以将WCF服务添加到asp.net 2.0网站?_Asp.net_Wcf_Web - Fatal编程技术网

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

是否可以将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 一切都编译得很好,我能够添加

我知道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中打开解决方案来实现的,它将为您升级配置。