multiple project

0
0

Hi,

let’s try to suppose a large project, a “Web Desktop Application” project that opens numerous sub-projects.

If we make update, when we upload the new dlls, the web browser go out for reload.

Example, suppose we have 10 project in this Web Desktop Application: project 1, project 2, project 3,……

If my users are using project 1 and we upgrade project 3, there is a way or have you a suggestion for not to interrupt those who works in project 1 but only who works on project 3? What is the best pratice to do so?

I was thinking of something that loading the dll of the sub-projects at runtime and show the forms…

Regards

Cristian Zerbinati

  • You must to post comments
1
0

Hi Frank,

thank you, maybe your answer is the best choice for many people, anyway I have do a solution:

Time ago I have used reflection for load plugin of my software compiled at runtime,

well… suppose to have a subproject named “WebApplication1” that it has a Form, buttons ecc ecc and with my entry point is a class named “myclass” (as program) that open the form:

Public Class myclass
Sub New()
Dim window As New Window1()
window.Show()
End Sub
End Class

Now on the root of “Main project” there are:

bin <— the bin folder

dll <— here I put my sub-projects

Default.html

Default.json

Web.config


in dll I have put my sub project dll, in this test is called WebApplication1.dll (only this dll, not other wisej dlls)

For run at runtime the sub-project I use this code:

Dim asm As System.Reflection.Assembly
asm = System.Reflection.Assembly.Load(IO.File.ReadAllBytes(Application.MapPath("\dll\WebApplication1.dll")))
Dim type As Type = asm.GetType("WebApplication1.miaclasse")
Dim instanceOfMyType As Object = Activator.CreateInstance(type)

and everything works perfectly 🙂

I can change, delete and substitute the dll of subproject without logout the user

Cristian Zerbinati

  • Kevin Caine
    I know this may be 3+ years later, but thank you. I had used reflection in WinForms projects before and it hadn’t occurred to me to use this kind of logic for a WiseJ project, or any AppPool for that matter. Sometimes the simple and older logic works.
  • Cristian Zerbinati
    Hi Kevin I’m glad you find this usefull :-)
  • You must to post comments
0
0

Hi Cristian,

the only way to avoid the AppPool to recycle is to create a different AppPool for each application.
Otherwise IIS will reload it when it detects any change in /bin.

Best regards,
Frank

  • You must to post comments
Showing 2 results
Your Answer

Please first to submit.