2017-04-06 2 views
0

Ich habe eine Website auf Port 62587 und einen Webdienst (WCF) auf Port 15290, beide localhost.Wie teilen Sie Sitzung in lokalem IIS über Häfen?

Die Anmeldeseite ist auf 62587 und der WCF-Dienst ist auf 15290. Wie bekomme ich es, damit WCF die Anmeldeinformationen von 62587 sehen kann?

EDIT: Ich habe einen Provider-Knoten mit applicationName = "MyApplication" in beiden Web.config festgelegt. ich habe:

<authentication mode="Forms"> 
    <forms 
     loginUrl="Signin/Welcome.aspx" 
     name=".ASPXFORMSAUTH" 
     protection="All" 
     timeout="10" 
     path="/" 
     requireSSL="false" 
     slidingExpiration="true" 
     defaultUrl="default.aspx" 
     cookieless="UseCookies" 
     enableCrossAppRedirects="false" 
     /> 
</authentication> 
+0

Ich bin nicht sicher, ob es möglich ist, die Sitzung ohne Webfarm zu teilen. Haben Sie jedoch versucht, die Anmeldeinformationen an den WCF-Dienst zu übergeben, nachdem das Objekt, das die Anmeldeinformationen enthält, bei WCF eintrifft, kann es in seiner Sitzung oder im Cache gespeichert werden. –

Antwort

1

Es ist möglich, für die Formularauthentifizierung durch die Maschine und Entschlüsselungsschlüssel Einstellung das gleiche für alle Anwendungen zu sein:

https://msdn.microsoft.com/en-us/library/eb0zx8fc.aspx

Aber dies bedeutet nicht, Ihr Sitzungszustand wird geteilt werden, weil dies pro Prozess ist.

Um den Sitzungsstatus zu teilen, müssen Sie Sitzung eine freigegebene Datenbank wie redis oder sql server speichern.

+0

Danke - Ihr Hinweis führte mich zu diesem Artikel von Peter Bromberg, der meiner Meinung nach meine Herausforderung recht gut erklärt. Ich plane, es bald zu testen, aber ich bin auf der Grundlage davon, was mich zu mehr Hinweisen führt. http://petesbloggerama.blogspot.com/2006/10/cross-application-forms-authentication.html –

Verwandte Themen