[英]Can an asp.net mvc application also have a web service?
我有一個asp.net mvc應用程序,現在我需要添加一個Web服務來配合它。 最好的解決方案是什么? 只需創建一個新的Web服務項目並將其添加到我的解決方案中,然后使用其他URL將其部署到同一Web服務器上? 我只希望它成為mvc應用程序的一部分,因為我在其中擁有所有的數據庫代碼。
任何建議,將不勝感激。 謝謝。
沒有理由不添加Web服務項目。
您聲明所有數據庫代碼都在MVC項目中。 我強烈建議您從那里將其刪除到一個單獨的類庫項目中。 Web服務和MVC應用程序都將使用該第三個項目。
我也強烈建議您不要將ASMX Web服務用於任何新開發。
除非您別無選擇,否則僅使用WCF。 有一個誤解,認為WCF服務不執行SOAP,而是執行SOAP,而WCF已經取代了ASMX。
Web服務可能意味着基於肥皂的Web服務或RESTful Web服務。 我想不出任何原因,為什么您不能簡單地將asmx文件添加到項目中並開展業務。 那是基於肥皂的路線。 如果您想變得非常酷,則可以從控制器操作簡單地返回xml,並直接在MVC框架上實現RESTful解決方案。
如果您想使用常規的ASP.NET asmx Web服務,那肯定是可能的。 這是Scott Hanselman的一個示例,它確實滿足您的要求,並且充分利用了其他一些ASP.NET技術。
您所要做的就是File-> New Item-> Web Service,它應該像Mvc項目中的常規ASP.NET應用程序一樣工作。
我認為這里有兩件事。
您確實可以將Web服務添加到MVC應用程序。 您甚至可以考慮將網絡服務識別為腳本服務,以使類似REST的操作更易於通過JavaScript執行。 由於您的情況,這可能是不必要的。
我認為關於底層架構還有一個更強烈的問題。 如果將Web服務與mvc應用程序一起放置,因為您的數據庫代碼已經存在...應該嗎? 現在是將數據層抽象一些的好時機。 但是,如果您要處理的是一個相對較小的項目,並且不需要靈活性,那么可以肯定地添加一個Web服務。我想它真正可以歸結為滿足您應用程序的真正需求。
MVC建立在asp.net框架上。 您應該能夠在同一項目中包含Web服務。 我還沒有完成,但是我知道您可以在同一項目中將asp.net表單應用程序與MVC應用程序結合在一起。 Web服務也應如此。
除非您的應用程序很小,否則我建議您為應用程序的每個邏輯部分創建不同的項目。 一個不錯的凝視點是針對以下每個項目都有一個項目:
這提供了與您的體系結構相對應的清晰分隔,並支持重用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.