2017-09-11 46 views

回答

0

如果你的服務沒有WCF特定代碼,並且只包含業務邏輯,那麼這將是一個好主意。您的WEB API控制器將僅僅是包裝器,它基本上處理路由,參數映射和返回HTTP狀態代碼的適當結果。

編輯:

如果您的WCF服務有一些WCF特定的代碼,如身份驗證,那麼我建議提取是基礎設施無關的代碼。然後,您將能夠使用您的WEB API控制器中新提取的類。

在這種大規模重構的情況下,我通常推薦使用集成或端到端測試來覆蓋整個組件。測試可以寫在現有的代碼和基礎設施之上。在提取代碼並用WEB API控制器封裝後,您將能夠運行相同的測試套件以確保沒有發生重大更改。

關於WEB API認證,我建議在看所以下面:Web API Authentication best practice

+0

WCF REST服務有其自己的邏輯。 在Wcf服務中,我有一個從'ServiceAuthorizationManager'繼承的類和下面的邏輯來完成身份驗證。 var reqMsgProp =(HttpRequestMessageProperty)operationContext.IncomingMessageProperties [「httpRequst」]; string authHeader = reqMsgProp.Headers [HttpRequestHeader.Authorization]; var authMessage = CheckIfAuthenticateMethod(operationContext); if(authMessage == true) { return true; } 在WEB API 2體系結構中,我使用基於令牌的身份驗證。那麼我怎麼做認證部分? – user3263194