2013-10-15 89 views
2

我有一个MVC 4.0项目。结构看起来像这样。是否有可能使WebApI项目和MVC项目在同一端口工作

MySolution 
    BLL 
    DAL 
    MyProj 
    MyAPIProj 

DAL包含.edmxBLL包含与DAL和Model保留数据的服务。 MyProj有控制器和视图。此外,它还提到了DAL和BLL。

所有上述项目正在一个解决方案。

现在的要求是:我们正努力创造使用Web API抽象的新层。相反,在MyProj控制器交谈,我们要创建一个的WebAPI的BLLMyproj将调用的WebApi和基本验证后WebApi会跟BLL和基于BLL响应接收到的输入将被发送回WebAPI,然后到MYProj

现在来自MyProj我正在做一个.ajax调用MYAPIProjMYAPIProj我已经参考了BLL和DAL。我的问题是 我需要这两个应用程序使用相同的端口。有没有办法在Visual Studio中做到这一点? 如果没有,最好的办法是让它在本地工作。

+3

您不能让两个应用程序同时在同一个IP上的相同端口上侦听。您可能可以使用IIS配置让它们在不同的虚拟目录下运行。 –

+0

仅当您将它们作为不适合您的解决方案体系结构的相同项目托管时,Web API和MVC才可以使用相同的端口。如果您将它们构建为两个不同的项目,那么不幸的是,DigitalID写的是真实的。 –

回答

1

您可以使用主机头在IIS(本地和服务器上),并做一些事情,如:

app.mydomain.com 
api.mydomain.com 

主机头在IIS 7:http://technet.microsoft.com/en-us/library/cc753195(v=ws.10).aspx

或者你可以创建API作为应用程序在您的主应用程序中,它看起来像这样:

api.mydomain.com/service/ (where service is the application) 
相关问题