From f40dfb88e3e84c42b79b438d3acf7b8830ec36b2 Mon Sep 17 00:00:00 2001 From: Louis DeJardin Date: Wed, 1 Sep 2010 21:35:48 -0700 Subject: [PATCH] Updating to the Autofac-2.2.4.900-NET40 release All tests run as expected at the point update was made Removed obsolete OrchardControllerIdentificationStrategy Add IsAdapterForIndividualComponents property to implementations of IRegistrationSource IEnumerable quirk from autofac 2.1 did not reappear --HG-- branch : dev --- lib/autofac/Autofac.Configuration.dll | Bin 25600 -> 27136 bytes lib/autofac/Autofac.Integration.Wcf.dll | Bin 13824 -> 13824 bytes lib/autofac/Autofac.Integration.Web.Mvc.dll | Bin 13312 -> 15360 bytes lib/autofac/Autofac.Integration.Web.dll | Bin 17920 -> 17920 bytes lib/autofac/Autofac.XML | 1038 ++++++++++------- lib/autofac/Autofac.dll | Bin 114688 -> 130048 bytes .../Utility/ContainerExtensions.cs | 4 + .../Events/EventsRegistrationSource.cs | 6 +- ...OrchardControllerIdentificationStrategy.cs | 48 - src/Orchard/Orchard.Framework.csproj | 1 - 10 files changed, 639 insertions(+), 458 deletions(-) delete mode 100644 src/Orchard/Mvc/OrchardControllerIdentificationStrategy.cs diff --git a/lib/autofac/Autofac.Configuration.dll b/lib/autofac/Autofac.Configuration.dll index a1b27ccc922336adfb7b9b8d0952157900797ee7..dee943ea2a42ee2ec6191690246396fcba494f79 100644 GIT binary patch literal 27136 zcmeHv3wT^rwf{P2-jjBcnY`22v`yQ*$+JyLTKY&^0)3=SC=UziWacCtn9NCMCZ%Zz zrnZ78AR?%6=JS+UWb zpL_32tF+^!F3eNhM7u%3jsLE`6d;Ie5*J$+#7#BqMoR4GJ3WL8^aGlLdad~=QGxu= z+)b2a@z)N$y_}dNI-Q*`_3svQwBAEz-D7H-^;lwq7E9-9!9MX``VmbubR=Ncj>)L}W>u(Lwx-3+ZBkWiF zv27|j=%EgxU#utc2o(mj5uFde^aM@UoAi_2F7PQwilXlvy6W*u&TrY2T5|o7%5Q$^ z{1q>~vZQI%Ydw$b7(I2*iRTL69nZUQ@7J#U%QK@zE6-f<_}v$Mc=LN7cbxUl%bxk& zJwLrR?~J4WUT{(9obU8Lc-rv`@9X(c-5=aVM{oRNc=KDuZ+-obzd3L`{*}L9cEvq= z6Yd44oHj3b#^*{sYbV+VQkVYWnT={fAsVSFCi13gh?E*o@}^PdOrxAKjRH?h(R21R z3Zi0)%&ln(Oi;P>e@Rmiib8ojO$nHkU!^Htrp#BXN>G8Cm18c85l+?^=ROuQt3M%hc$I)2cJl6&r2pk6&;_AUwyGJda2(m(Td?9Z7B7lj- zOeht4Z7Vp8>k9yGLom&msARS}&bNsroGug5Qtt~(%v@#`_|#kf9kpsH?j_zATx!)a zq<-nFQBZI0T9;o=F5C#!U_~_*$!gpV5Zew**i_SYue0>r4Qx58BUcTpW5vJZHf29j z8L1V9zGg$;m257%3?l5ZAeV7>rp8>a(RyT`sAYk1hIM(yU7ydwD69~+Kt09|@|Ps* zK=nG+33isVrlAVv)EdP!R5gHhWfRoZcuQ)U)x;azgpD9F;!uE;qPH449i&4ieBf8B zki~0D6te(oSi97os86Sp&0u<+cD)66XGv8nZh5N9rlS{nQ-!GZL_YMW;|%K;RxJm) z3a)dOUWIW%ndL6AeZgI|0@P$Xz=0an$3a_AwqwS!Ra+IJ`~zr)F}5!_vo)g;*$A%R zoJJ?z2ZzA~zb&zyYXhuyX%U>vGCB-!R;@%q^=RJ=Zo(AAzVW-{&;9_B?-VKmk1J-QMrE77kg1c+=^+=`G!8e6= zo8Mjqc`vj}sNVd-EPtTR1(X~Am!@Tyg`D~Z5DE+1BWNIhp}vtZhfVc6bOeBDPSqx+ zI+GYUy@f8YAZu1~14}Y$7+&ZG3S&%esh_18_q&rY+N-1P-r6>h-AR;g;!AQfRW0TW zrk>4^O2Vn$1E9FU(6<69EUMk?FVeSh(xdu4oU%;t0__26v;v!8;C^qG2|kd$855vO z{B#HWR0Ka28GiD+Sd+J~xOSnxSl`acJU;>uUQ!B6{3Rv+yf64m^c`RV2G?<#+mLRUuw$mx3hOUqtp&WG_u;_i|2daU**f zvX>dzXCwRUDug1kmu0e-A$wUmdmiV+Xznd6uWj^~>*sLNhnzmW8Z6up*L=em;jB6r z+$xyq)Xzg|Ddfef$6!@C)Rw2!avv}}oDW?NU2qI}wM!8ZekV6ot&u|Y%@k@~jK=0sHpJr+vez!P>EN3FI>$it3*gZu-nzxk#3;-0tXkjcOpIGdoyT6P_k+5$ z#u#-mgPEglo~y)A@&%VMKuXVqKiQVc|Di1iRnwM`O=rZirOuf+WEEeZ?@Zj9M!dBJ zc73-PW7k7jMlH=XinUEKifuab4{bv4Gi};u(;2aBTI)>wOWKUN&csjCNU1aNb{YxP zmf7_I)4;HKk7OCTEZ0yjBG*v1GXXo%WzdeLsx@2MF4dq$+NUm0=*dA44%noZdYwg8 zLqO{S_M)miobcFfC3+O8G|QYdD|0N!Dcs5HFSH*o2nri*gvprK!~RRLFo50|>kTHV zVbjy_uv#??f*uD*>HuEnB+H3#O~s{to+Rh1lXBl#g>{uP@p)twhCYG}H74~tGgALN zBQ@VPlZNgYsiV2nOKtUeiBqsxNy5M01L~EC^*Qw}n~Cy@mASbq=$oM?4avT6(ALkt7T(o`(g9!lRVMErk*Pxyl60z37NOaP5IPdldQv8-_&(DE0T4%*r2zz4f|H#c&47SlURyZQ}d+FRCGjpT4vSmNWQ(Klkj~&*CiYrcP z&6FOLmAjO4OPBjN=LQE3@YY;l(?5Z`I^Mxc=rtHOjDWttq^t$Sre6sWS(_jaKf7R6 zOqlTeRab$bUo8qiv$qthms<*bVB#Cj$3D=He;&SE}OIzYS)7wn_sI5GI@e43t^_b>(n5U{FKzeAYgECCa(n{`Ds?Pl7-8p2(ufA6-H5WAW?t0 zTBRe8(G4(gJJAi~`OyxmAAUIfJj$9*(hpeW%>95h&(sg_Xe9a$q#s4atW1+kaEsK$ zEw72a+ylf#^I`H17ctYC1 z!9Kx2;tmtX)VSj;?-O^TQ5|OuRX4!!iPMon+%a9^j&c1)=D={o9j098#3oLT8<5Ep zTr|iBGa#7=j0^dcRHo49HkR zRDG7&MKv~6KZ2D0PfS+T8e7%pkW%%}GdtZ2c-*wpHuM81@~iqS;ErB^QIA)Qw{q4t zr~U=L*Bf0U@eP!!e~~G3Y)<`4NEnO?{WhfaF9U2Zt+5qtFR7t(;gqL-_{RrPPr^t> zvEH#{N*iw2p(XXvL|99vQ#-U!L`&2Khm&DF5sMDg1$SzRWK@r@YHeube|5q2qp{Rz zLR%HrMpKDUtS;CyIuMJ7&(y~H^oz9ks(}?NLT%x;_A|G?@Yz4k`~3C=&((LW$Y1i&m8rkomf8i8F1x+oJ`;dVDZCG@1yd(1yXJ7MA<6@y3Z| z;El#2LF?@Z8ooj4=^hL&i-(4_WkI|{NsegY=wMWf)CHF%wZy(?81&)MWGWbnC3SwM zl9mWoh4tYPJ+8%5LC(KQifE`-B5Xx!Y(xvrQ0SmO8jmytyHmm8&{!~`?H!FKv|uQi z)P@IQW5K;sjdUmQn=*%KXkf8D5;#(kh3{cHqYtz!Ek+F%HstJ)|OuV%DFJQPFGpH)6k+0l41 z6^e&VrSES*G8!L>Y4ui?WoTkJr9PsKXz_>^50A}g6N^kSy#W!tuJ?>}ifoY^dn5aJ zuxM#)Y3cwIyS`ZS(2;WV*Gus%U4eIBWk~nJ_30XWy$Jj*4B?B{#rR=f{xDo9XD|3do@W8jcb2qJiL4K)ALu+>m`Vuq6IJ6X!iB+* zmg4Hch4EGP)?09I!v#|)hznhY_owB~LlMS#k@ez^vDB=clg?C^t4bvT~~taZ+D`e>)X%K^P~r~OsrI_`W5X`Aa! zz*g4+mycF@>OEdM)ywp5fmL~)JTGm_YXjVq$Mg>id?4=#D8I;KJ+BGHHH*2G0()nz zpXH@7Nnb1Q4uRhnctYSivsm-O*}mB~QX8gRFLljkoe{tQT`lQbXLG&2I-6_#yV(zN zO+oR}W%<6@Uiw@F$kK{S&&-v`D#RUx81#SfN(hUVH|204#yQz_t7nW_T=|K@zIYY{f3`CIX`ec=tu2LUlL&N zH4CK+X(w$Da4Y;sByR=XOI3xhswH$`;f_Kt9W3Npd|fE-6~0_pLS;oSgI-_6cJ>rK z<#f{FBCf^P1wH}jrTa>5FM&5oxE8OKaEVm^fi-cyG2|ux|)&5p59cJHY1C67)u{!!cmallY1NKwICu2LauogOBu;b|J<rx4?Y@KQ8bVfp-ghQsAqAy^~&hA8JwN=%byJ{|>m2e(m^*;-^B_ zF~Bvh=aub~M&7TwxhyU*JC{N~68dWb?H-G3*_N@#$d#?_pD+W>@Gg-+$Vj^pfvgz}G=>(z`yV!%3d}JiJZJmAS?}UB*d&D*B$AC4UFV z+7v1(F?7BT`RbDI0d|zU1=wBkUx0rq>h;VlzYG1gx}+DdqhvQ=cS*$abPypzm$`lR zPDP<#n^>t}Z<*L)!JG>X$wtA-Osqq&8WTHHuuc;@SFo)n7PqfK3A;^f+`a)=!o)sq zKLgld6T8{I4cH9^R`z9kAF$7*u@PWj6YLT95=W<^(!B;oZH`f31+s{JN!ji=fDD&RF<@PSecyen<7&lDn*_T|%Cl2n4i-sccR=!Z8XHmI%S!gkBc3-M zM->-!85or~zX|N=D&Z;XoDbmS%PyWi=@I2yz`XRji9HHz7TtuM9_GF5d_wV2NiAcC z#FhdI3ifGtkLv{bVZVt*TrU9|G_eua?}5cl>=M@-=qZOy>>9y7V`ASB>@E{~NU-ml z*a^XYX<~mB>`lRLpc~wHS4x38w(K%DM?oP~n%Mnr#+I8H$5J7E$iSoyg%lC&Ft9to zdsHx^{fg;H!Hjk&rl$>_v}Q5=MzG7=KX;d6cKM5m9e2-DOR2b?Z86%moEDlGw{1Dy z#LFl$qM(BA5zJ`Y3i`f*NgXQa7baHj=~OD{l^n@8b1?fUtkdW#6;xtk9LW__Wnvu3 z6|~a8r0x~8E(hx~CE0@&G-zV%!3x@+BRQFa-P9zdQYC$Q}%_PpmPu&`j?_xw)0G-~k75++PZZubiM zq=^~zyERAh_8jbf!ET^R@1rQ;?JVA0vhz}sZlImsC)Bz01L@%>l=o)8VxLc`Ma(=FZ027GU=sb*g-1F?^6~~k3^4A!UFo6 zfk_Dq$SzTELP}UbvrLRjSU{T%%)=!tpmWplazb4|djvB|2-3A#tr?`x7#Q|gA9Dxk zZWAjme%if=o)GMWvaR?9cO?}yN^O-R#X(0U%{4LhL?zj!ZBKX}FaA9wXBn8-iF_u; zc2-iKDam$L(k{UaPgK&lUU3J6TO|Eeq2K+!=?6sSQIUBz4ORL-lIF5hI-X7|^m|D&RLPJxY~Zv? zZwOb(Q<1jkv7LAMGEf0UCEjzx+BGX}$YfKp(|7r7*w(RO57~pe2lq0n!F3eZy;z;q z;5v%yUaUNK;_~A<57$v#_hPlU6PF*?dAN?^x|ePzo?njwjws(2_+5dI3;Z$Qv+6NP zpAh)6z&8N)oQ@!)DFNC>RP})rCXqfe(wI5%_Dlw1!V;D z6>~Ssx^KJk*zD)+A?fc}1)`sal*v0f(X<@_*NHLb==jw4+@8wf}iXk>pBAu5#5M_=DpT zv7|%&vfbr8OltzA&TgdVIl1)3&h1E#C|#24O38Jdq>o7YOB4^B>AX`Y_n12O1}=1# zs~-lOEA$71zL%~HT<81}T^IO_^IY}Y_S>D6!hJ-z+m+h`oyrq*G;ogV33@aT1AI>4 zD+1pZ7$}UnwxeEs6cwxX(qps7Tw~N#co6W)z!k2&px>d40rn|P^tr-cxc1URg)ad9 zr0^xzLDcm3fWIpIPuCTYdDnHbsb_srr*f;Le<^YDOIhjrX{hKTx1aQ)6Ih{KQnc6Y zp&N@P+_$SAw;ysJRe$cj!u@Uae)l`}7bRw1M9f^{eo><3MTwRdC0bsTXn9eh%s*^xrNBCYtpaZ*p5tz&n&M;b@2cM|ad^I~{V3JgxX#DuIFWS zXQ|VBGYypHdEZdG3jN-<)kBcqu3TR_svJ{qDLv-iuH0QZ$GevvC=GgjIHPzro>bkm z8*mo(OnrDpoCGYQ>jBH?p8@C6{eVGw3b2xX4p>ER0oGADR-}!hp`C6*`gD=mOtbKu z-Xrurq3jkIp&HQlNIE9m5h*JrW$hQrCBmH)4TmNDF@aYK?~@-C#SVf|IM20Vd2f(iN}x(V>J^i#kveFE^1(C1Lf+kh9G4tE26 zntllS7pcL~K(+Ku&mtM`-NZL_f+kL`Y{b}yE6HPY+c>m?l)cu3$E1>O#>-~Bk? zSKTiIUS;#xxvXlyBld1UzdH(8?Y=_Nw@dnQ!2O<=0YB~WIPRyTo@&4!db$CxvPA)( zx834ptB!lu!yd|GxJKY^fe#5hE-*MtxB`z0q}f6dxLe>Y0v|FcKITped`RGNfx&#q zC9vAj;#lF>>p1B6v2)OMjq6R<=iT|9vpq4-Qm=|R)P}frAX=T2k2o*I+*pAf$9dTO zSpdo+%zBk*-=&Cno-Yy8INLS{Q9X}%p>n7F9EGsg#qiq#9~StSz-I;iO5p4EU66Sj z^ATRUIR*jq9Tx%Kw+oC5JS@;C@liMH zG3?3K`LerG#k*~>VTmUrlWj@1hV1lTJ>NuLoA-V|pZ6iaB5y{6A-O2O0GqY_`Ne?Q z>46fs(xhk7hR1njAjo(gpc8&qLCptr!}lt9g@9fv2FyeIsA#Klz(TYF zpZcB$xB&lD3erNf=R*AB^W%#F7h{)8Mf)uST!Nmiq8)1imto&Z1%3)(4K)GQqW7w3 z**3saWGAi}`&TM>3|G*pfbBSqs3LV5U?;5wT!ntF(i-ftslYb@Zoqpcl{TX1tJq)L z0(d5N)>NEJ+zz+}V}T0%EI=OrR9xo*o<|=7ya2mrDuu9juHsEq2yhrqz3!Im<*8&;IjJ+P{r?gO`+9sswT9t5|X9s;+V9tL*~b|*IgK1E*v z{0SuI&@))Y&7q$`at{3hl5^-eNY0~|ATy8t1M>6e6-ds*+p*gLUxVa4dL5GU=uJo# zqOY+3+L7Lf+WpM_8+*B9spAI6OOAIPK4-PF(b?`?#pO<~*6(+vI#5+v9 zLvTBy;LGk0(MCrP=Id_J?ED(8f5p{K4?CCRYQ@zaE~OHf+-Hk~SKq?hWzL zVJ#6Fh-rwZv>j=|Yym46$nd-=P1^?eopP=*rniXATx-2y<^ZuAHzP4=R!#)dt(Hqo zzq!tqof1@%e+%BAYl&@xxg{|xm(p#%GVbNq&@;2PS#Pwbvbo|tX^V2XI1NHWTB=`K ziW6px2+=Z55HXh}a!e6cx@5t+ zHMy2#te9p&y7a7)vkXj^*smF5UAnH>&DWjN#8ybcM1# zuno=Z@0<=~iex%Ox+SKNvQ3%7>N3tFnBgqO_nSvZtdYQIS~*o>kzhtD6h#MHHyVxM zFcEFmLlLX@G+4y$9okSdi33D@AjKr^Zb5^jrg=FtXsks+`$BL<7e-#{I~k)_&NgHh z(3={I;jqui7$`N<%0Q$ySmQya6tYg7NR`B)Q_nVGgfos*Vb}`|q4J3gZYkV^gA6!q za=;i8&Er(vm~zs>CQZV2szUa-#ZP9Xvsz-Sp4!MKYb3uJqipRK9Nk%`^;)NTgw6CE z`Lp5)Evyg4qe(3?ttq&WY=Ml|rg97yT83I7WEu88M&%fkUDh;XvY8n}vZ;mM(-bL%KpAlRYflR~)z7TYgmgGpAGwFa_ooR=f^w(f~fJpfa$bfk2pr6X8Y3euMt+oYwsv~VoM zCx$E@X<37+nMMnVbH!2N>?I@{Lj&fB6t;{+k26LgoXF#jz;krO81*cNksJvlZfL7S zj)^EvN$rPh5{pae$Wn_D9MZ$AWA*eM#zDu1?l=}?`bc`Z*fyF<$H!Dz^SmW0N`0XO z+G8Ux=q}b17iF?ow)I6*u}mDNho>$r8BRn;cx27wu|_J>Bz8Ysl1SSmHsZKha%VIt zt)gf0uHW3t^08ixC{DXebsN z>q}q=!#W#joU+U0vPzVoijPfaAZQ|^;TeoyuaAr+qCt&W8t0VpWjpgN7_G+=_C@6slv$0uw3-H^4|>C9f+uWsORXuYW*J3WK4 zEG2x5SxfO83}}jG8Q5Uhs*!c?T;0^)k28}gtjvuQ(U}!cGTXWwdpcLQ_V=goBO}yl z4m+#c`um$u>lOX|7bij^&6#8ilEeM|8!<>Ad|PKK#(WsbE^dl5EJyqU8!a&-ptQv4 z(Fjg*W||fAU+?J1h@LrN;l{&-7z=+zGHN&M z*K+zY_xdfN5t%I0JSNHznj>m0l5&W-(Ro%lv2TVHQBg z-53iEB~b?~XEDa;3A8qslg&lnNT$+rT()p8Vn`lHGJ4a6QTKGM*`#z{h#6~cGHf>^ zWpgyX7n>Q@GcKz$XJ^j9J=H8qOSgKr`FNYXdQJ}{NpvlqFSUdz1vTLWb{l4}y^ELV zmbgrgn~@XGG(5>h%xQ-$vW5k))!D1oF!*-IaS|R+2nfP-myc*&`Y^WB zjBbe9;Q@>L;d)FOnZ9Us{jGYOJ5DYWjig~j4r?;Fqb-f40DH-JcC&o8F`*Be6z)#e z7!SBy49qKN)=3H@T34>D#=Vf4y~YxO_wbD8RMfg3@QrI@*PG@i~g z>ehvl8k(2*zC##w0CS}QVu0HKkDP=KBS>ImOBj@z5 zuM~f-RY{`a5tNxQ?MR7r26cLF^0TdMV+0r9sgP|PMp^v%nT9Kc7p@_ETb7amFt**4=n!|2}%>SyF5# zr}^_chGE2m;Nwe#d)@Gi6{$0QB}la=%Q^iML3~67 zZ8Lp~nE5`C^7ct*$&GCC@b{Av zx3h=g`3QV3SmE?OM*iIX$>n6{;XXLMZ-JU;mBH=FEj@^uaXDDqqK(-i9%W)|x$rrf zIl?o&%W5z3uyjhkBEvUl_Z_L~dv0j!ZJ+$)dFOv4wvF6(o!0+h|Fhne?teY7YiD`u z@hhCgf!RtS;WkSNxZS0ft$gE5>Us`%r4k4lw>sn2YTP=FTbFU`QJp@w)faqRcqZ5i za?vCeO?R3Qr;keoQ-`Gh6LQB|H#>mIbJ-W!Jv@7SsGQE6KF}^=AuD=k9%pSq^4WtF z=wq;k!RZXDKv!&4;8igXU=4%Q8C2PWih@jv>cfHK;=n>Un)5guL1k{hfuw&4I2s0KQGfmK}4X5?6lYXc4d1lBUx z;2>n$V8iJXyPIhM8*Fa!xeF8=#Ga2sDVgqr0t(6PM2YS~a#S%QEtwfs#QfPxpxc)l z&_y%Fa|sh;(oHfNk~IJQBiozl1ni@B1_cZnxrXfw3K%pxNu4`4(BURk4Qwe0Y-cB{ zP5}Sp&75{m-hzWGWS_)uf?@)9@+k!1J9^hP@c{|`Zte1_b?1EakL?%OuMHjj*#72; zcfK)uaQKx|e{$E0Z+xQV+Rr@m+rK{UzVy=PIs>2j$qQ#+>pXT(b>+@G-h1#9FFoeW zTmIavmTw*U&E;2r{;TSjemzln&eaG1LtnY*`SFVCi~5~^{cBI&zoiP^`O3o8 zZ~gkIeT%;SH(SYPZIuuFbk@JWeCJ2(FW!*%63m?ID^vf!i%E?EpkGChL(ibY^i{^Y)J5^$dLV>h|ZoMj zbQl8Y5YQVq=n)qL+y(f6fCr1fL4TkPj1G()2aA=!!E)~DJ_BFKIINb+W5noy7kxhV z2RJ=0(R{ERcMX?7rEvHRs~wwUvHr1=I|&IsB9Bg4!j;*NOa?0Fi__U z6iIbj1;Qy@Q?r6x5lO=7AR90!={jyUcb-?OEhDfeJr>W-c82P3sc8CHJmOmpa`9l* z5$KTns=z9=04l9IUAWDgyGEfF^Jy;g5YngXv19{2FxT;syZl~2#A2GSnqB74S@1XC zD#kL0xqx?X`e5!K?3YxH@<1)Ara@t=AUfLP|9#(O5Pbw>1)bK z1}(x7E4#c<bqFab|g;6HDZ<}#FU}Di|aEir^;p=_QKYV<}@z1 z!yvYur!f{Olt1Mq-&9Yr)6t!=(&#`3N1$|>U?{^h&o?x02Y(?FRGkYvq&*Jzw z1DrWES;2F*Y!2q^lm^XxexifJ3LPA>boAkMWit0UKI`XORy8&@w>I)$YrEV!46Lzn zd1JE>OnzH)TT5$GOA|{9om05lS2VY`Hn+96w`qed0FA93&C8nxn%dh}w6`>`hzy28 zgN>2p%a=#AP|HB1d7x2i9c*eJXldza?g&L%wYI^5a0k?AE3`BhFe+&+S^;S78It123LgJI|d_> z!R8KaxrVZluf1JsZ_?VA54MDwn4i9P_p>TV1W2@HM0V_28P=$k6 zNaVv(qq(8Ep|zo-5#PUYQ{h#fhV7XkzkyB#@l!0#a9Dj~TYYmok}F&BF=4erl~#*l zCx%Z~1?z)*QmK)Zr<@WpUqB&HF(IX9=&|bv9mBV@qilzp)AS$}bGXxp(XL?;iCUXmxzJ+ffXd0d6_%~n90q1o*w^@I$+xR2h zojCvA54ZvQLA^LBzYTjF{kU(%>G5qM`fv6>zROQHe75_r&7QuWW-7AdZp`~80k^O)3-DU5AtqN@7y*qx29-2W@oyatz z-p0RH>}K#swY%`Ofg<~4!}1`{dpGFf*!9TXZ4A;mI3d3o9pmIXYC%{qid{P1wd7x> z!taCOy9G-(Z#%@Xdy?K4nxPD1&&t{Z2x5;hh%c&mCvJpR;>(6ppd;I=1}O<68UFh4 z+agN3-d)&|;GJIf#|ZKpKjg)7x%GO#T|lB%oJh~;+$kF?ysyc7iu~7%Z!Y+1#nmBx zWjiX6hg&dvKQvS84_Fd(zWrL45TP zgniuJ?MUU8Y_+5jGrS+nd&~S2VH^`&hi#^QjwmkGicV|G=fC62OkEl=X(;%9g!h|x zCy%!$GTxc06F-S2ZICNJwIyb1hfc{ib?+{Sp2pi_nO2-BFSqUg{{0X1z=-j?Vb`qw OA87mkn*9Ilf&UA2< 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 BiCO>v diff --git a/lib/autofac/Autofac.Integration.Wcf.dll b/lib/autofac/Autofac.Integration.Wcf.dll index ee12bf50123897f5777c645628559079c56c803d..81cb2c81a30cafebfbc882e32dcf7079e3235f40 100644 GIT binary patch delta 4363 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 BP|yGX delta 4150 zcmai133OD|8UF9RZ{EzjS(2G-WOXJ(!ep6Yk`N#S2wQ}(H7o%l%4Wer!65{-hRP%u zIpER~UqPVNiVJSof)OlRSyX!Lu>uMzS}n>_5Cj*{ayVkYdozi&o}NAq-}}FRzyG`U zy-D-@=J~5uh_#hZwmp!|9~;^Be3%bLM0Tmfb=>sxp0Rbw|Eg;E$@GM8 zZymd1Ov+npibroINQ*K$%V}13_%g21UV^ifn=6q1@xa;1mucj~0{Icmxs(z(l@`*~D|KgCxE}ZN+ zI+oeCaN^E6X9ta3VaeTg`Li*BxxSQj6^BHG(~TV+5f6Ha3=wiHVnhoYlR%m@u#_%l z0jpHZbPInB1|ymZ;7d4>7EOa#SjwYH-%S$AjA(Qo`H|5hGuL(Hl9`uuF%eCdd9LXe zBE2yKau6X!OEu&Td6KW`y3}Vu-z-&1Z*CSDu^gzPHvp0>MYnh?Q6EI7?T#{(blHnX z*`t2xkSiVZqCAft4MB8bk5qQ%HnsN-L0hgu~sJn+AUA0PLJ zS|4i&k$N<2rd#|hWL8=VViz%4EI>{6w?E8sX#}3Z5&?#T@XgVFS?6>H2PGL~D;YBb^ zcfsc-UFsVZu2Q&1|0ArYlzdHLnpOIgDjcKmKIa^Bo)6tNvC))ZRm`Y{#9(JAT?E~!whP4v>d^9Tbvz$mfLxq3qSI_CkB~;)C5wSx<$d8kI&Mr95i%%Wu@(y0Rxu|H zRIH7L*w!!?&A`jNBk5>z)3OdmRbo6P(36UtX2Zo4Y|*FVY%G|Eo{6(MF^#v2%)f zUt*25$|k?&Rp!yem9Yo0dpMa+j-NFG4^d!R8s@Nt>iGM#UEw~3Zva1{!%9A;@Dqh+ zfz#+qC0|jxePtiS*RgbaHSeV~ z{gq||3mCf)+sl~6H?T3rV*VV9%`}?$7Pi`G<^?3TRSP|4Jj>^@Eyjy{AFC37=6?Fj zc#{t!tK(BXnjDVH{1~hxjBxcREk{sz zpy?@|qZ5vuc$@0Zaxsp4F=v(V^RQE{wZF5O&!n}^8KR!{I%kWCs$_-QUlj;G$OiL^ z&O1egn%O$wGEoEl17aKy!=&M^w^3|{>wU2S){lV;T<640Sicetz-1y#Nfgw=^Z?D) z!!(p)8(Em{rJF$<#8m@lmvpPo_Wd>2#I1-un=A*us+o$`-^Y+bwGt3`;XQDR#-*du+A2KL44R#mBg}0z-CtE9@{gKMm?u~8Jale>KltVep zV#vZO{cahsk9nJ4xBFzmH&_x$)f-ZUev-&gdg*ew(^m=7U*IP!blxZ zoyDr;cx9m^(yYwulyy#-F9fsFu2_kA^E}Pp=@^;Yn`ifN?rpJ{9|uznmpeO4uDr!# zUJGXAq{z}CmAfUKdF5j%mp9peOSaj&U`A=ks2`bTq=ToW+=i2+cA2eY zPv1!|_8wcF#VE}@UYypRQ@Dn?6Brq#;gWDkS-5XWnYphh+b9c_RQO8z_A4(l&lEjU zj6a@7$qX{h3jE)NAHBPZh{jJCHlb|H_I@jFDjM3ddTUeb^7H%6O~s4d^YQby^ZM0D zGaSm`%_H0V$>#XbF0;1ukm(K&bX~gccwI8MNO&fjXkG~iSfo9> zXMl;mUu{GJjDQwiQhVd|^y)ZP%8%0z#d50>Pm{m6`72Ek@6ElBt;Tl?VB9n3x` Q{)d0Rc2BR1tSw^wH)~Q6DgXcg diff --git a/lib/autofac/Autofac.Integration.Web.Mvc.dll b/lib/autofac/Autofac.Integration.Web.Mvc.dll index dd24d79b162016f02dd70e452a7b70bef1743c70..9090fe5c72a0c1eef23e04ce471f1904850a5952 100644 GIT binary patch literal 15360 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 YXaTH``1wAaZ}}If+rO&x|J?%r2XA>Ji2wiq delta 6479 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 VW_;PfO9)*Z-{+e41?vtN{}+x=SuX$p delta 6111 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 + + + Support the + type automatically whenever type T is registered with the container. + When a dependency of a lazy type is used, the instantiation of the underlying + component will be delayed until the Value property is first accessed. + + + + + Allows registrations to be made on-the-fly when unregistered + services are requested (lazy registrations.) + + + + + Retrieve registrations for an unregistered service, to be used + by the container. + + The service that was requested. + A function that will return existing registrations for a service. + Registrations providing the service. + + + + Gets whether the registrations provided by this source are 1:1 adapters on top + of other components (I.e. like Meta, Func or Owned.) + + + + + Support the + types automatically whenever type T is registered with the container. + Metadata values come from the component registration's metadata. + When a dependency of a lazy type is used, the instantiation of the underlying + component will be delayed until the Value property is first accessed. + + + + + Provides a value along with metadata describing the value. + + The type of the value. + An interface to which metadata values can be bound. + + + + Create a new instance. + + The value described by the instance. + The metadata describing the value. + + + + The value described by . + + + + + Metadata describing the value. + + + + + Support the + types automatically whenever type T is registered with the container. + Metadata values come from the component registration's metadata. + + Reflection activator data for concrete types. @@ -295,8 +364,11 @@ To create an for a specific type, use: - var rb = IRegistrationBuilder.ForType(t).Named("foo").ExternallyOwned(); - var cr = IRegistrationBuilder.CreateRegistration(rb); + var cr = RegistrationBuilder.ForType(t).CreateRegistration(); + + The full builder syntax is supported: + + var cr = RegistrationBuilder.ForType(t).Named("foo").ExternallyOwned().CreateRegistration(); @@ -343,7 +415,7 @@ - var registration = IRegistrationBuilder.ForType<Foo>().CreateRegistration(); + var registration = RegistrationBuilder.ForType<Foo>().CreateRegistration(); @@ -795,6 +867,116 @@ The description. + + + Wraps a component registration, switching its lifetime. + + + + + Base class for disposable objects. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Describes a logical component within the container. + + + + + Called by the container when an instance is required. + + The context in which the instance will be activated. + Parameters for activation. These may be modified by the event handler. + + + + Called by the container once an instance has been constructed. + + The context in which the instance was activated. + The parameters supplied to the activator. + The instance. + + + + Called by the container once an instance has been fully constructed, including + any requested objects that depend on the instance. + + The context in which the instance was activated. + The parameters supplied to the activator. + The instance. + + + + A unique identifier for this component (shared in all sub-contexts.) + This value also appears in Services. + + + + + The activator used to create instances. + + + + + The lifetime associated with the component. + + + + + Whether the component instances are shared or not. + + + + + Whether the instances of the component should be disposed by the container. + + + + + The services provided by the component. + + + + + Additional data associated with the component. + + + + + The component registration upon which this registration is based. + + + + + Fired when a new instance is required. The instance can be + provided in order to skip the regular activator, by setting the Instance property in + the provided event arguments. + + + + + Fired when a new instance is being activated. The instance can be + wrapped or switched at this time by setting the Instance property in + the provided event arguments. + + + + + Fired when the activation process for a new instance is complete. + + A strongly-typed resource class, for looking up localized strings, etc. @@ -823,21 +1005,6 @@ collection registrations. - - - Allows registrations to be made on-the-fly when unregistered - services are requested (lazy registrations.) - - - - - Retrieve registrations for an unregistered service, to be used - by the container. - - The service that was requested. - A function that will return existing registrations for a service. - Registrations providing the service. - Create an external registry source that draws components from @@ -854,6 +1021,257 @@ A function that will return existing registrations for a service. Registrations providing the service. + + + In this case because the components that are adapted do not come from the same + logical scope, we must return false to avoid duplicating them. + + + + + Switches components with a RootScopeLifetime (singletons) with + decorators exposing MatchingScopeLifetime targeting the specified scope. + + + + + Maps services onto the components that provide them. + + + The component registry provides services directly from components, + and also uses to generate components + on-the-fly or as adapters for other components. A component registry + is normally used through a , and not + directly by application code. + + + + + Provides component registrations according to the services they provide. + + + + + Attempts to find a default registration for the specified service. + + The service to look up. + The default registration for the service. + True if a registration exists. + + + + Determines whether the specified service is registered. + + The service to test. + True if the service is registered. + + + + Register a component. + + The component registration. + + + + Register a component. + + The component registration. + If true, existing defaults for the services provided by the + component will not be changed. + + + + Selects from the available registrations after ensuring that any + dynamic registration sources that may provide + have been invoked. + + The service for which registrations are sought. + Registrations supporting . + + + + Add a registration source that will provide registrations on-the-fly. + + The source to register. + + + + Enumerate the registered components. + + + + + Fired whenever a component is registered - either explicitly or via a + . + + + + + Gets the registration sources that are used by the registry. + + + + + Protects instance variables from concurrent access. + + + + + External registration sources. + + + + + All registrations. + + + + + Keeps track of the status of registered services. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Attempts to find a default registration for the specified service. + + The service to look up. + The default registration for the service. + True if a registration exists. + + + + Determines whether the specified service is registered. + + The service to test. + True if the service is registered. + + + + Register a component. + + The component registration. + + + + Register a component. + + The component registration. + If true, existing defaults for the services provided by the + component will not be changed. + + + + Selects from the available registrations after ensuring that any + dynamic registration sources that may provide + have been invoked. + + The service for which registrations are sought. + Registrations supporting . + + + + Add a registration source that will provide registrations on-the-fly. + + The source to register. + + + + Enumerate the registered components. + + + + + Fired whenever a component is registered - either explicitly or via a + . + + + + + Gets the registration sources that are used by the registry. + + + + + Tracks the services known to the registry. + + + + + Used for bookkeeping so that the same source is not queried twice (may be null.) + + + + + Initializes a new instance of the class. + + The tracked service. + + + + The first time a service is requested, initialization (e.g. reading from sources) + happens. This value will then be set to true. Calling many methods on this type before + initialisation is an error. + + + + + The known implementations. + + + + + True if any implementations are known. + + + + + Describes the basic requirements for generating a lightweight adapter. + + + + + Create an instance of . + + The service that will be adapted from. + The adapter function. + + + + The adapter function. + + + + + The service to be adapted from. + + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + + Looks up a localized string similar to The service {0} cannot be both the adapter's from and to parameters - these must differ.. + + Internal implementation of the RegisterCollection/MemberOf-style collection feature. @@ -889,24 +1307,6 @@ Activator data that can provide an IInstanceActivator instance. - - - Generates activators in an IRegistrationSource. - - Data associated with the specific kind of activator. - - - - Given a requested service and registration data, attempt to generate an - activator for the service. - - Service that was requested. - Services associated with the activator generator. - Data specific to this kind of activator. - Resulting activator. - Services provided by the activator. - True if an activator could be generated. - Hides standard Object members to make fluent interfaces @@ -1033,6 +1433,27 @@ Metadata describing the value. + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + + Looks up a localized string similar to The type {0} is not an open generic type definition.. + + Provides registrations on-the-fly for any concrete type not already registered with @@ -1059,6 +1480,12 @@ A function that will return existing registrations for a service. Registrations providing the service. + + + Gets whether the registrations provided by this source are 1:1 adapters on top + of other components (I.e. like Meta, Func or Owned.) + + Activation data for types located by scanning assemblies. @@ -1079,6 +1506,11 @@ Additional actions to be performed on the concrete type registrations. + + + Actions to be called once the scanning operation is complete. + + Fired when the activation process for a new instance is complete. @@ -1167,22 +1599,6 @@ Base class for instance activators. - - - Base class for disposable objects. - - - - - Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. - - - - - Releases unmanaged and - optionally - managed resources - - true to release both managed and unmanaged resources; false to release only unmanaged resources. - Create an instance activator that will return instances compatible @@ -1896,155 +2312,6 @@ The most nested visible scope. The scope for the component. - - - Describes a logical component within the container. - - - - - Called by the container when an instance is required. - - The context in which the instance will be activated. - Parameters for activation. These may be modified by the event handler. - - - - Called by the container once an instance has been constructed. - - The context in which the instance was activated. - The parameters supplied to the activator. - The instance. - - - - Called by the container once an instance has been fully constructed, including - any requested objects that depend on the instance. - - The context in which the instance was activated. - The parameters supplied to the activator. - The instance. - - - - A unique identifier for this component (shared in all sub-contexts.) - This value also appears in Services. - - - - - The activator used to create instances. - - - - - The lifetime associated with the component. - - - - - Whether the component instances are shared or not. - - - - - Whether the instances of the component should be disposed by the container. - - - - - The services provided by the component. - - - - - Additional data associated with the component. - - - - - The component registration upon which this registration is based. - - - - - Fired when a new instance is required. The instance can be - provided in order to skip the regular activator, by setting the Instance property in - the provided event arguments. - - - - - Fired when a new instance is being activated. The instance can be - wrapped or switched at this time by setting the Instance property in - the provided event arguments. - - - - - Fired when the activation process for a new instance is complete. - - - - - Provides component registrations according to the services they provide. - - - - - Attempts to find a default registration for the specified service. - - The service to look up. - The default registration for the service. - True if a registration exists. - - - - Determines whether the specified service is registered. - - The service to test. - True if the service is registered. - - - - Register a component. - - The component registration. - - - - Register a component. - - The component registration. - If true, existing defaults for the services provided by the - component will not be changed. - - - - Selects from the available registrations after ensuring that any - dynamic registration sources that may provide - have been invoked. - - The service for which registrations are sought. - Registrations supporting . - - - - Add a registration source that will provide registrations on-the-fly. - - - - - - Enumerate the registered components. - - - - - Fired whenever a component is registered - either explicitly or via a - . - - Represents a set of components and related functionality @@ -2134,11 +2401,6 @@ Protects instance variables from concurrent access. - - - The tag applied by default to nested scopes when no other tag is specified. - - The tag applied to root scopes when no other tag is specified. @@ -2646,125 +2908,6 @@ Fired when the activation process for a new instance is complete. - - - Provides component registrations according to the services they provide. - - - - - Protects instance variables from concurrent access. - - - - - External registration sources. - - - - - All registrations. - - - - - Keeps track of the status of registered services. - - - - - Releases unmanaged and - optionally - managed resources - - true to release both managed and unmanaged resources; false to release only unmanaged resources. - - - - Attempts to find a default registration for the specified service. - - The service to look up. - The default registration for the service. - True if a registration exists. - - - - Determines whether the specified service is registered. - - The service to test. - True if the service is registered. - - - - Register a component. - - The component registration. - - - - Register a component. - - The component registration. - If true, existing defaults for the services provided by the - component will not be changed. - - - - Selects from the available registrations after ensuring that any - dynamic registration sources that may provide - have been invoked. - - The service for which registrations are sought. - Registrations supporting . - - - - Add a registration source that will provide registrations on-the-fly. - - - - - - Enumerate the registered components. - - - - - Fired whenever a component is registered - either explicitly or via a - . - - - - - Tracks the services known to the registry. - - - - - Initializes a new instance of the class. - - The tracked service. - - - - The first time a service is requested, initialization (e.g. reading from sources) - happens. This value will then be set to true. Calling many methods on this type before - initialisation is an error. - - - - - The known implementations. - - - - - True if any implementations are known. - - - - - Used for bookkeeping so that the same source is not queried twice (may be null.) - - Catch circular dependencies that are triggered by post-resolve processing (e.g. 'OnActivated') @@ -2964,23 +3107,11 @@ Parameters provided to the resolve call for the factory itself. A factory delegate that will work within the context. - + Generates activators for open generic types. - - - Given a requested service and registration data, attempt to generate an - activator for the service. - - Service that was requested. - Services associated with the activator generator. - Data specific to this kind of activator. - Resulting activator. - Services provided by the activator. - True if an activator could be generated. - Represents a dependency that can be released by the dependent component. @@ -3178,22 +3309,6 @@ The component registry. The registration to attach functionality to. - - - Data structure used to construct registrations. - - The most specific type to which instances of the registration - can be cast. - Activator builder type. - Registration style type. - - - - Create a IRegistrationBuilder. - - Activator builder. - Registration style. - Configure the component so that instances are never disposed by the container. @@ -3396,23 +3511,45 @@ and dynamic (IRegistrationSource.) - + - Copies from. + Construct a RegistrationData instance. + + The default service that will be used if no others + are added. + + + + Add multiple services for the registration, overriding the default. + + The services to add. + If an empty collection is specified, this will still + clear the default service. + + + + Add a service to the registration, overriding the default. + + The service to add. + + + + Copies the contents of another RegistrationData object into this one. + + The data to copy. + When true, the default service + will be changed to that of the other. + + + + Empties the configured services. - The that. The services explicitly assigned to the component. - - - If set to true, the "default" service for this registration will not - be applied. - - The instance ownership assigned to the component. @@ -3841,6 +3978,16 @@ The concrete type to exclude. Registration builder allowing the registration to be configured. + + + Filters the scanned types to exclude the provided type, providing specific configuration for + the excluded type. + + Registration to filter types from. + Registration for the excepted type. + The concrete type to exclude. + Registration builder allowing the registration to be configured. + Filters the scanned types to include only those in the namespace of the provided type @@ -3862,6 +4009,45 @@ The namespace from which types will be selected. Registration builder allowing the registration to be configured. + + + Adapt all components implementing service + to provide using the provided + function. + + Service type to adapt from. + Service type to adapt to. Must not be the + same as . + Container builder. + Function adapting to + service , given the context and parameters. + + + + Adapt all components implementing service + to provide using the provided + function. + + Service type to adapt from. + Service type to adapt to. Must not be the + same as . + Container builder. + Function adapting to + service , given the context. + + + + Adapt all components implementing service + to provide using the provided + function. + + Service type to adapt from. + Service type to adapt to. Must not be the + same as . + Container builder. + Function adapting to + service . + A strongly-typed resource class, for looking up localized strings, etc. @@ -3888,31 +4074,6 @@ Looks up a localized string similar to No matching constructor exists on type '{0}'.. - - - Registration source based on a registration builder. - - LimitType for the registration. - Type of activator data. - Registration style. - - - - Try to generate registrations using the provided activator generator, with - the data from the provided registration. - - Registration data. - Activator generator. - - - - Retrieve registrations for an unregistered service, to be used - by the container. - - The service that was requested. - A function that will return existing registrations for a service. - Registrations providing the service. - An activator builder with no parameters. @@ -3934,13 +4095,6 @@ Registration style for individual components. - - - Create a new SingleRegistrationStyle. - - The type that will be used as the default service if - no other services are configured. - The id used for the registration. @@ -3962,12 +4116,6 @@ The component upon which this registration is based. - - - The type that will be used as the default service if - no other services are configured. - - Used to build an from component registrations. @@ -4005,25 +4153,33 @@ Build can only be called once per - this prevents ownership issues for provided instances. + Build enables support for the relationship types that come with Autofac (e.g. + Func, Owned, Meta, Lazy, IEnumerable.) To exclude support for these types, + first create the container, then call Update() on the builder. A new container with the configured component registrations. - + - Configure an existing component registry with the component registrations + Configure an existing container with the component registrations that have been made. - Build can only be called once per + Update can only be called once per - this prevents ownership issues for provided instances. - An existing component registry to make the registrations in. + An existing container to make the registrations in. - + - If set to true, standard container functionality like resolve-all, auto-generated - factories and owned-instances will not be registered by this builder. + Configure an existing registry with the component registrations + that have been made. + + Update can only be called once per + - this prevents ownership issues for provided instances. + + An existing registry to make the registrations in. @@ -4259,6 +4415,47 @@ + + + Retrieve a service from the context. + + The type to which the result will be cast. + The context from which to resolve the service. + Key of the service. + + The component instance that provides the service. + + + + + + + Retrieve a service from the context. + + The type to which the result will be cast. + The context from which to resolve the service. + Key of the service. + The parameters. + + The component instance that provides the service. + + + + + + + Retrieve a service from the context. + + The type to which the result will be cast. + The context from which to resolve the service. + Key of the service. + The parameters. + + The component instance that provides the service. + + + + Retrieve a service from the context. @@ -4646,6 +4843,18 @@ + + + Try to retrieve a service from the context. + + The service type to resolve. + The context from which to resolve the service. + The resulting component instance providing the service, or default(T). + + True if a component providing the service is available. + + + Try to retrieve a service from the context. @@ -4659,6 +4868,19 @@ + + + Try to retrieve a service from the context. + + The context from which to resolve the service. + The key of the service to resolve. + The type of the service to resolve. + The resulting component instance providing the service, or null. + + True if a component providing the service is available. + + + Flexible parameter type allows arbitrary values to be retrieved diff --git a/lib/autofac/Autofac.dll b/lib/autofac/Autofac.dll index b361e781fdef1eb0c4cf3974c3bc9d358a915e94..03b5a9dd57b4f295d0cd394e5c4094f2eefb722f 100644 GIT binary patch literal 130048 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 HVc>rQHV}H9 literal 114688 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 z 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�#i_FC~f>VP_Iu)i|)p27aj7=1*Qtm5Dj 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 diff --git a/src/Orchard.Tests/Utility/ContainerExtensions.cs b/src/Orchard.Tests/Utility/ContainerExtensions.cs index 43070eb6d..d95bcef2a 100644 --- a/src/Orchard.Tests/Utility/ContainerExtensions.cs +++ b/src/Orchard.Tests/Utility/ContainerExtensions.cs @@ -30,6 +30,10 @@ namespace Orchard.Tests.Utility { public AutoMockSource(MockBehavior behavior) { _behavior = behavior; } + + public bool IsAdapterForIndividualComponents { + get { return false; } + } IEnumerable IRegistrationSource.RegistrationsFor( Service service, diff --git a/src/Orchard/Events/EventsRegistrationSource.cs b/src/Orchard/Events/EventsRegistrationSource.cs index 3a09cc77b..1ca053e9c 100644 --- a/src/Orchard/Events/EventsRegistrationSource.cs +++ b/src/Orchard/Events/EventsRegistrationSource.cs @@ -14,6 +14,10 @@ namespace Orchard.Events { _proxyBuilder = new DefaultProxyBuilder(); } + public bool IsAdapterForIndividualComponents { + get { return false; } + } + public IEnumerable RegistrationsFor(Service service, Func> registrationAccessor) { var serviceWithType = service as IServiceWithType; if (serviceWithType == null) @@ -40,4 +44,4 @@ namespace Orchard.Events { yield return rb.CreateRegistration(); } } -} \ No newline at end of file +} \ No newline at end of file diff --git a/src/Orchard/Mvc/OrchardControllerIdentificationStrategy.cs b/src/Orchard/Mvc/OrchardControllerIdentificationStrategy.cs deleted file mode 100644 index 160cb6e85..000000000 --- a/src/Orchard/Mvc/OrchardControllerIdentificationStrategy.cs +++ /dev/null @@ -1,48 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Web.Mvc; -using Autofac.Core; -using Autofac.Integration.Web.Mvc; -using Orchard.Environment.Extensions; - -namespace Orchard.Mvc { - public class OrchardControllerIdentificationStrategy : IControllerIdentificationStrategy { - private readonly IEnumerable _extensions; - - public OrchardControllerIdentificationStrategy(IEnumerable extensions) { - _extensions = extensions; - } - - public Service ServiceForControllerName(string controllerName) { - // the OrchardControllerFactory class does not call on the strategy, because the controller name - // alone is insufficient to identify the service - throw new NotImplementedException(); - } - - public Service ServiceForControllerType(Type controllerType) { - var controllerNamespace = controllerType.Namespace; - var extension = _extensions.FirstOrDefault(x => x.Assembly == controllerType.Assembly); - var assemblySimpleName = controllerType.Assembly.GetName().Name; - string areaName; - if (assemblySimpleName == "Orchard.Core" && - controllerNamespace.StartsWith("Orchard.Core.")) { - - areaName = controllerNamespace.Split('.').Skip(2).FirstOrDefault(); - } - else if (assemblySimpleName == "Orchard.Web" && - controllerNamespace.StartsWith("Orchard.Web.Areas.")) { - - areaName = controllerNamespace.Split('.').Skip(3).FirstOrDefault(); - } - else if (extension != null) { - areaName = extension.Descriptor.Name; - } - else { - areaName = assemblySimpleName; - } - var controllerName = controllerType.Name.Replace("Controller", ""); - return new NamedService(("controller." + areaName + "." + controllerName).ToLowerInvariant(), typeof(IController)); - } - } -} \ No newline at end of file diff --git a/src/Orchard/Orchard.Framework.csproj b/src/Orchard/Orchard.Framework.csproj index a5467f5c7..5daa8b7e1 100644 --- a/src/Orchard/Orchard.Framework.csproj +++ b/src/Orchard/Orchard.Framework.csproj @@ -675,7 +675,6 @@ -