2008-12-29 20 views
12

WCF çalışma zamanı, bir hizmeti normal yöntemle değil, bir IoC konteynırla oluşturmak için yapılabilir mi? (Ayrıca, türünün ve hizmetin InstanceContextBehavior öğesinin yaşam tarzı yapılandırması arasında potansiyel bir çakışma göz önüne alındığında, bu yaklaşım korkunç bir fikir olur mu?)IoC konteynırı aracılığıyla WCF servisinin başlatılması

Yanlış soruyu tamamen sormamın farkındayım. Amacım, konteyner tarafından sağlanan yöntem müdahale tesisleri (örneğin, giriş/çıkış günlüğü, mükemmel sayım ve çağrı azaltma, hepsi benim hizmet uygulamasına eklemek istemediğim mantık ve bağımlılıkları içeren) aracılığıyla bir AOP yaklaşımıdır. WCF'nin buna yaklaşmanın başka yollarını kullandığını hayal ediyorum, bu yüzden önerilen diğer yaklaşımları da duymak isterim.

cevap

3

Evet, ObjectBuilder ve Spring.NET (ve bağlantıları takip eğer daha fazla!) Ikisini de kullanarak heres uygulamalar:

http://www.infoq.com/news/2008/01/wcf-di

olsa yaşam tarzı ve örnek bağlam davranış etkileşimi üzerinde yorum olamaz. Daha fazla WCF'ye özgü yaklaşımlar için, WCFs davranışları konseptinden yararlanarak (yukarıdaki örnekte olduğu gibi) yararlı olabilir. birkaç farklı türde heres bir başlangıç ​​noktası vardır:

http://mehranikoo.net/CS/archive/2007/02/22/WCFBehaviours.aspx

Alkış,
Matt

+0

Ne kadar iyi Bahar desteğinin olduğunu bilmiyoruz, ancak gerçekten iyi bir nedeniniz olmadıkça, ObjectBuilder kullanmak istemiyorsunuz. Diğer araçlar çok daha güçlüdür. –

+0

İkinci bağlantı kötüye gitti. –

8

Kısa cevap - evet o olabilir.

Lütfen Kale WCF girişine bir göz atın. WCF için Castle Windsor'u kullanmanıza izin veriyor, size bağımlılıkların enjekte edilmesinden çok daha güçlü özellikler sunuyor. found here gövde versiyonunu kullanmak en iyisidir. Üzerinde fazla doküman yok ama testlere bir göz at. Takip edilmesi kolaydır ve sizin için iyi bir örnek kod olacaktır. WCF tesisi, tam olarak istediğiniz türde düşünürleri yapmanıza izin verir.

+0

Bağlantı bozuk. –