2011-01-23 76 views
1

我想知道什麼是最好的選擇:託管在IIS中的WCF HTTP服務或在IIS中創建一個網站和使用的HttpModule它來處理請求?的HttpModule與WCF服務IIS主機

或者也許在Windows服務中託管WCF http服務?

服務/ HTTP模塊只記錄後傳入郵件的正文文本,沒有返回。

對於例如每秒300個帖子。至關重要。

回答

1

無論你走到哪裏,我都很確定任何類型的記錄都會降低服務器的性能。如果您每秒平均請求300個請求,那麼每秒的線程數就會與日誌文件競爭。有些線程需要等待才能訪問日誌文件,如果有足夠的線程排隊等候,將會有很大的延遲。

這就是說,兩者之間的性能差異是微不足道的 - 你應該基於與技術的熟悉你的決定。

WCF確實具有內置診斷功能,因此您可以在不編寫代碼的情況下記錄消息(請參閱MSDN),但需要花費更多的精力來學習WCF。這樣做的好處是,如果您注意到影響性能的日誌過多,則可以在不重寫應用程序的情況下關閉它。

是您的應用程序只日誌職位,而不是做別的呢?如果是這樣,我會建議使用數據庫(SQL Server,MySQL等)而不是文件系統 - 這將帶來更好的性能。

+0

我確實更喜歡數據庫選項,以便即時解決併發問題和內務處理問題。 HttpModule接收流中的POST文本,Wcf選項接收包含在xml中的POST數據(即xml中的xml,因爲該帖子本身是一個soap信封)。 http模塊看起來很容易 - 另一方面,wcf是標準,因此我發佈了這個問題。 – Gerard 2011-01-23 23:37:39

1

我相信表現可忽略不計,而託管在IIS服務的好處,意味着你的IIS應用程序的額外的管理和配置的好處,如果你需要專門針對該服務。

我想性能真的取決於服務處理的工作負載。

我寧願一個WCF服務通過HTTP模塊,爲WCF包爲你的SOAP處理,你將不得不推出自己,如果你正在構建一個模塊。

+0

你是什麼意思通過包裝肥皂處理? HttpModule包含請求的主體,這是我必須記錄/保存爲文本的肥皂數據。 – Gerard 2011-01-23 23:42:47