Skip to content

multiple project #1262

Closed
Closed

Description

@itg-assistant

Cristian Zerbinati asked 2017-12-18 13:22:51 UTC

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

Activity

  1. itg-assistant commented on Jun 12, 2026

    @itg-assistant
    Author

    Frank (ITG) answered 2017-12-18 21:43:13 UTC

    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

  2. itg-assistant commented on Jun 12, 2026

    @itg-assistant
    Author

    Cristian Zerbinati answered 2017-12-19 15:08:10 UTC

    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

  3. itg-assistant commented on Jun 12, 2026

    @itg-assistant
    Author

    Kevin Caine answered 2021-04-29 20:16:54 UTC

    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.

  4. itg-assistant commented on Jun 12, 2026

    @itg-assistant
    Author

    Cristian Zerbinati answered 2021-04-30 09:27:25 UTC

    Hi Kevin I’m glad you find this usefull :-)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    GeneralQuestions, how-tos and everything else.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions