2013-10-15 52 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) 
相關問題