You're welcome Mantas,
Good luck.
Steven Cheng
Microsoft Online Support
Get Secure!
www.microsoft.com/security
(This posting is provided "AS IS", with no warranties, and confers no
rights.)
--------------------
| From: "Mantas Miliukas" <
[email protected]>
| References: <
[email protected]>
<
[email protected]>
<
[email protected]>
<
[email protected]>
| Subject: Re: Add-ons
| Date: Thu, 22 Dec 2005 10:11:21 +0200
| Lines: 206
| X-Priority: 3
| X-MSMail-Priority: Normal
| X-Newsreader: Microsoft Outlook Express 6.00.2900.2180
| X-RFC2646: Format=Flowed; Original
| X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180
| Message-ID: <
[email protected]>
| Newsgroups: microsoft.public.dotnet.framework.aspnet
| NNTP-Posting-Host: 213.226.165.199
| Path: TK2MSFTNGXA02.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFTNGP10.phx.gbl
| Xref: TK2MSFTNGXA02.phx.gbl
microsoft.public.dotnet.framework.aspnet:366507
| X-Tomcat-NG: microsoft.public.dotnet.framework.aspnet
|
| Thanks for advices
|
| Regards,
| Mantas Miliukas
|
| | > Thanks for your followup Mantas,
| >
| > Using micro core( common interfaces) and mutiple concrete
implementation
| > is
| > a good design style. One thing I'm not sure is how will the 3rd party
| > developers dynamically load those assembly? IMO, they just need to
| > statically reference your core interfaces assembly and develop their own
| > concrete implementation... Also, as long as your interface assembly
(if
| > strong-named) dosn't change version, those concrete implement
assemblies's
| > version changing won't hurt your main application as long as your main
| > application is coded based on interfaces...
| >
| > Regards,
| >
| > Steven Cheng
| > Microsoft Online Support
| >
| > Get Secure!
www.microsoft.com/security
| > (This posting is provided "AS IS", with no warranties, and confers no
| > rights.)
| >
| >
| >
| > --------------------
| > | From: "Mantas Miliukas" <
[email protected]>
| > | References: <
[email protected]>
| > <
[email protected]>
| > | Subject: Re: Add-ons
| > | Date: Wed, 21 Dec 2005 14:30:24 +0200
| > | Lines: 136
| > | X-Priority: 3
| > | X-MSMail-Priority: Normal
| > | X-Newsreader: Microsoft Outlook Express 6.00.2900.2180
| > | X-RFC2646: Format=Flowed; Original
| > | X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180
| > | Message-ID: <
[email protected]>
| > | Newsgroups: microsoft.public.dotnet.framework.aspnet
| > | NNTP-Posting-Host: 213.226.165.199
| > | Path: TK2MSFTNGXA02.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFTNGP11.phx.gbl
| > | Xref: TK2MSFTNGXA02.phx.gbl
| > microsoft.public.dotnet.framework.aspnet:366215
| > | X-Tomcat-NG: microsoft.public.dotnet.framework.aspnet
| > |
| > | Hi,
| > |
| > | Our web solution consists only of strongly-named assemblies.
| > |
| > | I liked your idea with assembly version redirecting,
| > | however it would be too hard to maintain and ensure the integrity of
the
| > | whole system with large number of add-ons.
| > |
| > | We have another solution:
| > |
| > | Lets say we have one assembly which contains only interfaces.
| > | Web solution assemblies only implement those interfaces. We assume
that
| > | interfaces are static, they wont' change as fast as the product core.
| > |
| > | So third party addon developer should load our assemblies dynamically
| > and
| > | cast using the provided interfaces.
| > | The web solution upgrades wont' impact the behavior of the addons
until
| > the
| > | interfaces dll is not changed.
| > |
| > | What do you think about it?
| > | Have you heard any familiar patterns?
| > |
| > | Thanks for your help.
| > |
| > | Best regards,
| > | Mantas Miliukas
| > | mmiliukas(replace with @)doclogix.lt
| > |
| > | | > | > Hi Mantas,
| > | >
| > | > Welcome to ASPNET newsgroup.
| > | > Regarding on the assembly versioning problem in asp.net web based
| > | > application whch will adopt micro-core/add-on architecture, here are
| > some
| > | > of my understanding:
| > | >
| > | > For .net application, the assembly's reference(to other
assemblies...)
| > | > have
| > | > strong-reference or weak reference.... For strong-reference, it
will
| > | > identify the referenced assemblies' Full name( name, culture,
version,
| > | > public key token....), and this is only applied on strong-named
| > | > assembly...
| > | > For private assemblies(non-strongnamed), such version or key token
| > | > checking is not performed....)..
| > | > So this this concern with your scenario, is your main application's
| > | > assemblies(which will change version...) strong-named? If not, then
we
| > | > won't need to worry about versioning problem.....
| > | >
| > | > If your application's shared/core assemblies are strong-named,
then,
| > we
| > | > need to consider versioning problem. Based on my experience, we
can
| > use
| > | > the .net's assembly version binding/redirection to redirect
different
| > | > version of certain assemblies (by specify assembly's identitfy....).
| > Here
| > | > is the MSDN reference demonstrate redirecting assembly version:
| > | >
| > | > #Redirecting Assembly Versions
| > | >
| >
http://msdn.microsoft.com/library/en-us/cpguide/html/cpconAssemblyVersionRed
| > | > irection.asp?frame=true
| > | >
| > | > Also, the below aritcle can help you better understandg how .net
| > runtime
| > | > locate assemblies:
| > | >
| > | > #How the Runtime Locates Assemblies
| > | >
| >
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/htm
| > | > l/cpconhowruntimelocatesassemblies.asp
| > | >
| > | > In addition, one thing need to take care is that for ASP.NET web
| > | > application, we should always put those strong-named assemblies
used
| > in
| > | > GAC, this is because ASP.NET application dosn't support strong-named
| > | > assemblies in private bin path.....
| > | >
| > | > Hope helps. Thanks,
| > | >
| > | > Steven Cheng
| > | > Microsoft Online Support
| > | >
| > | > Get Secure!
www.microsoft.com/security
| > | > (This posting is provided "AS IS", with no warranties, and confers
no
| > | > rights.)
| > | >
| > | >
| > | >
| > | >
| > | > --------------------
| > | > | From: "Mantas Miliukas" <
[email protected]>
| > | > | Subject: Add-ons
| > | > | Date: Tue, 20 Dec 2005 15:12:23 +0200
| > | > | Lines: 27
| > | > | X-Priority: 3
| > | > | X-MSMail-Priority: Normal
| > | > | X-Newsreader: Microsoft Outlook Express 6.00.2900.2180
| > | > | X-RFC2646: Format=Flowed; Original
| > | > | X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180
| > | > | Message-ID: <
[email protected]>
| > | > | Newsgroups: microsoft.public.dotnet.framework.aspnet
| > | > | NNTP-Posting-Host: 213.226.165.199
| > | > | Path:
| > TK2MSFTNGXA02.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFTNGP12.phx.gbl
| > | > | Xref: TK2MSFTNGXA02.phx.gbl
| > | > microsoft.public.dotnet.framework.aspnet:365930
| > | > | X-Tomcat-NG: microsoft.public.dotnet.framework.aspnet
| > | > |
| > | > | Hi,
| > | > |
| > | > | We have developed a web solution using ASP.NET.
| > | > |
| > | > | Now, there is a need of add-ons for our web solution.
| > | > | We want to allow third party companies write their own code and
put
| > it
| > | > to
| > | > | our web solution.
| > | > |
| > | > | But there is one problem
| > | > |
| > | > | Let's say our website contains dlls of 1.0 version.
| > | > | The third party company writes their own dll that references our
dll
| > of
| > | > 1.0
| > | > | version.
| > | > | Everything works fine until the website contains dlls of 1.0
| > version.
| > | > | In case if we upgrade the web solution from 1.0 to 2.0 version,
the
| > | > third
| > | > | part add-ons won't work.
| > | > | The whole website will go down, because third party addon seeks
for
| > dll
| > | > of
| > | > | version 1.0 and doesn't find it.
| > | > |
| > | > | Do you have any suggestions how this framework should be
| > implemented?
| > | > | Perpahps you can specify some good article?
| > | > |
| > | > | Best regards,
| > | > | Mantas Miliukas
| > | > | mmiliukas(replace with @)doclogix.lt
| > | > |
| > | > |
| > | > |
| > | >
| > |
| > |
| > |
| >
|
|
|