2013-10-22 124 views
0

我開發了用於公開專有系統的Web服務(asmx)。ASMX Web服務中的持久連接

要將消息發送到我的系統,我創建了一個非常昂貴的連接,所以我想創建一次連接對象以儘可能多次重用。

如何生存到Web服務生命週期來實現我的目標?

通常(在正常的Windows應用程序中)對象存儲在一個靜態變量中。

+1

切換到WCF,然後您可以將其託管在Windows服務中。這可能是很多工作,或者可能不取決於你如何編寫Web服務。 –

+0

@marc_s對不起,我的意思是專有:) – ff8mania

+1

ASMX是一項傳統技術,不應該用於新開發。 WCF或ASP.NET Web API應該用於Web服務客戶端和服務器的所有新開發。一個暗示:微軟已經在MSDN上退役了[ASMX Forum](http://social.msdn.microsoft.com/Forums/en-US/asmxandxml/threads)。 –

回答

1

對象池模式是你的朋友在這裏。一個池包含許多已經創建的對象,這些對象在使用後會返回到池中。另一方面,而不是創建一個新的對象,如果可用的話,會從池中取出一個。

有很多不同的實現方式可以輕鬆實現,找到並修改以滿足您的需求。

+0

謝謝!這對我來說聽起來很新。你能更好地解釋你在說什麼嗎? – ff8mania

+0

http://en.wikipedia.org/wiki/Object_pool_pattern –

+0

我看到這種情況主要用於放置n個對象並使用n個對象。在我的情況下,只有第一次調用將把對象,所有其他客戶端將獲得該項目多次(他們不會「消耗」它)。這種模式是否適合您的需求? – ff8mania