2011-07-25 60 views
1

我已經看到了向控制器或服務(.asmx,.svc)發出的AJAX請求的方法,這些方法充當代理以向其他域上的Web服務發出調用。jQuery對控制器或服務作爲代理的AJAX請求?

使用服務似乎是最乾淨和最合乎邏輯的路線,但是有沒有使用調用Controller的任何參數?我知道有些人會使用.aspx頁面並將響應更改爲JSON,但是整個頁面生命週期執行並且看起來很亂。我現在正在加緊MVC,我想知道控制器是否會有相同的開銷 - 我想有一點,但很少有MVC架構。

的思考?

根據Dave的評論,將HttpHandler添加到候選列表中。

回答

2

如果您正在使用ASP.NET MVC並且想要爲您的Web應用程序創建代理服務(它不應該被任何其他應用程序使用),那麼最適合的是控制器。它會使你的架構保持一致。

HttpHandler是一個好主意,但我仍然更喜歡控制器,因爲MVC將很好地處理路由到您的操作,並且您仍然會有易於測試的代碼。

ASMX大多已經過時,WCF可能太複雜了,不需要這個。

+0

這是我不斷回頭的理由。從架構的角度來看,尤其是企業,一致性是巨大的IMO。此外,由於缺乏使用服務或者代理服務器的更好的術語,它似乎更加「步伐更快」。爲了代碼清潔,我討厭犧牲性能,但我無法找到任何指標來以這種或那種方式真正擺脫這種爭論。 –

1

爲了純粹的中繼目的,我喜歡服務器端的ASHX HttpHandler。這只是最簡單的設置,並且花費最少。

+0

有趣。沒有考慮過這條路線。仍然留待討論,但我們可以將HttpHandler方法引入環中。 –

+0

對不起,福爾摩斯。不幸的是,我不能釘住兩個線索的答案,但輸入是非常感謝。我沒有足夠的代表點來投票,但是當我這樣做時,我一定會迴圈並投票表決。再次感謝。 –