希望你能帮助我。
我一直对开发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服务创建为单独的应用程序。
希望这是有道理的!
答案 0 :(得分:0)
您只需将端点配置更改为Web应用程序使用的同一IIS虚拟目录。
但是WCF应该有它自己的虚拟目录,也许它应该在不同的应用程序池下运行
看看: