Je suis nouveau sur asp.net et j'essaie de résoudre un problème.Conflits d'instances DLL ASP.NET
J'ai créé une page aspx simple (site Web ASP) qui fait référence à une classe vb.net. Je gère une instance de classe en utilisant l'objet de contexte de session (je ne sais pas s'il y a un meilleur moyen). La classe a un sous qui définit une valeur de chaîne et une fonction qui le renvoie.
Je compile et exécute le projet de site Web, puis définissez la valeur "1" d'une page aspx et la valeur "2" d'une autre page (j'ouvre un deuxième onglet ou navigateur en copiant-collez l'URL du premier page), puis récupérer les valeurs, les deux pages afficheront "2".
La même classe dans une application de formulaire vb.net (.exe) fonctionne très bien lorsque les instances exe sont en cours d'exécution, la première renvoie la valeur "1" et la seconde la valeur "2". C'est ainsi que je veux que cela fonctionne dans mon projet de site Web, différentes pages dll instances différentes.
Class:
Public Class Class1
Private sExten As String
Public Sub setExten(value As String)
sExten = value
End Sub
Public Function getExten() As String
Return sExten
End Function
End Class
aspx:
Partial Class _Default
Inherits System.Web.UI.Page
'trying to ensure one instance is running
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
If Not Page.IsPostBack Then
Session.Add("ClassLibrary1", New ClassLibrary1.Class1)
End If
End Sub
'txtSetValue.text contains value "1" or "2"
Protected Sub btnSet_Click(sender As Object, e As EventArgs) Handles btnSet.Click
CType(Session.Item("ClassLibrary1"), ClassLibrary1.Class1).setExten(txtSetValue.text)
End Sub
'the txtShowValue shows "1" in the first and "2" in the second page
Protected Sub BtnGet_Click(sender As Object, e As EventArgs) Handles BtnGet.Click
txtShowValue.Text = CType(Session.Item("ClassLibrary1"), ClassLibrary1.Class1).getExten()
End Sub
End Class
Vous remplacez la valeur de session dans Tab2 par 2, donc il est prévu que vous retourniez 2 et non 1. Si vous voulez les garder séparés, jetez un coup d'œil à cette [SO Solution] (http://stackoverflow.com/a/ 2844472/125551) –