WCF服务作为ASPX服务的替代品

时间:2010-11-08 12:21:32

标签: c# asp.net web-services iis-7 wcf

希望你能帮助我。

我一直对开发n层Web应用程序,UI - WCF服务 - 实体框架数据层感兴趣,因此我的数据层不能直接从Web应用程序访问。

我已经在一个解决方案中包含的自己的项目中创建了我的数据层,WCF服务和Web应用程序,并且我能够向Web应用程序添加服务引用(WCF服务)。

这一切都很好,我理解它是如何工作的。但是我对如何在工作环境中部署它感到困惑?目前,Web应用程序具有对WCF服务的服务引用,该服务在测试环境中自动在其自己的域/端口(例如localhost:58307)中打开,然后在运行解决方案时在其自己的域/端口中打开我的Web应用程序。 在Web应用程序中,web.config随后包含<system.serviceModel>的新部分:

<client>
    <endpoint address="http://localhost:58307/EstkService.svc" binding="wsHttpBinding"
            bindingConfiguration="WSHttpBinding_IEstk" contract="EstkService.IEstk"
            name="WSHttpBinding_IEstk">
    <identity>
         <dns value="localhost" />
    </identity>
    </endpoint>
</client>

如何创建我的WCF服务,但是在与Web应用程序相同的域中引用它?那么当我发布项目时,我不需要创建一个托管WCF服务的虚拟目录吗?

我的理由是我在共享托管环境中工作,因此我无法在IIS中将WCF服务创建为单独的应用程序。

希望这是有道理的!

1 个答案:

答案 0 :(得分:0)

您只需将端点配置更改为Web应用程序使用的同一IIS虚拟目录。

但是WCF应该有它自己的虚拟目录,也许它应该在不同的应用程序池下运行

看看:

http://www.eggheadcafe.com/software/aspnet/35496061/deploying-multiple-wcf-services-in-same-iis-virtual-directory.aspx