Chcę uzyskać dostęp do pewnej wartości (która jest już ustawiona w pliku .aspx) w pliku .ashx. Próbowałem uzyskać tę wartość za pomocą zapytania, sesji itp., Ale za każdym razem nie udało się. Czy ktoś może zasugerować mi, w jaki sposób możemy uzyskać dostęp do wartości sesji w pliku .ashx?Jak uzyskać dostęp do sesji w pliku .ashx?
Odpowiedz
W pliku aspx:
Session.Add("filename", "Test.txt");
Po ustawieniu wartości sesji w pliku aspx. Użyj poniższego, aby uzyskać wartość w pliku Ashx.
W pliku ashx:
public class ImageHandler : IHttpHandler, System.Web.SessionState.IRequiresSessionState
{
public void ProcessRequest(HttpContext context)
{
string Name = "";
if (context.Session["filename"] != null)
Name = context.Session["filename"].ToString();
}
}
Jak ustawić zmienną sesji? context.Session ["filename"] = "somevalue"; czy to prawda? – efirat
Jeśli ustawiasz zmienną sesji na stronie aspx, po prostu użyj Session ("filename") = "somevalue". A jeśli ustawisz program obsługi jak powyżej, użyj context.Session ["filename"] = "somevalue". – mrd
Kluczową częścią tej odpowiedzi jest to, że program obsługi musi zostać zmodyfikowany, aby dziedziczył po IRequiresSessionState w celu uzyskania dostępu do sesji. –
Spróbuj tego,
HttpContext.Current.Session
to nadal wymaga informacji z powyższej odpowiedzi. –
W pliku ashx.cs, także "wdrożyć" interfejs System.Web.SessionState.IReadOnlySessionState
lub System.Web.SessionState.IRequiresSessionState
.
Nie musisz implementować żadnej metody, tylko obecność tego czyni sesję dostępną (w trybie tylko do odczytu lub odczytu/zapisu), poprzez context.Session
.
Nagłówek wyglądałby następująco:
public class MyHandler: IHttpHandler, System.Web.SessionState.IReadOnlySessionState
Dziękuję !!!!! – kevin
Niesamowita odpowiedź! W pewien sposób uratowało mi życie. Dziękuję Ci! –
Kocham cię. Z jakiegoś powodu problem ten manifestował się tylko dla mnie w Visual Studio 2013 (VS2013). Może być z powodu wersji .NET lub wersji IIS Express, której używa (IIS 7?) Dzięki za pomoc! – Suamere
- 1. Jak uzyskać dostęp do sesji w webmethod?
- 2. ASP.Net 4.0 - Jak uzyskać dostęp do RouteData z poziomu ASHX?
- 3. Jak uzyskać QueryString z pliku ashx?
- 4. Jak uzyskać dostęp do HttpContext poza kontrolerami w ASP.NET MVC?
- 5. Laravel: Jak uzyskać dostęp do wartości sesji w AppServiceProvider?
- 6. Jak uzyskać dostęp do zmiennej sesji w kontrolerze
- 7. HttpContext.Current.Session ma wartość null w pliku Ashx
- 8. groovy: Jak uzyskać dostęp do pliku właściwości?
- 9. Jak programowo uzyskać dostęp do udziału pliku
- 10. Jak uzyskać dostęp do pliku sieciowego?
- 11. Jak uzyskać dostęp do pliku dziennika Redis
- 12. Jak uzyskać dostęp do sesji z testu integracji Rails?
- 13. ASP.NET: Jak uzyskać dostęp do sesji z obsługi?
- 14. Jak uzyskać dostęp do sesji z klasy Java
- 15. Dlaczego WebMethod może uzyskać dostęp do stanu sesji bez EnableSessionState?
- 16. Jak uzyskać dostęp do pliku XAP programu Silverlight w domenie?
- 17. Jak uzyskać dostęp do obiektu ejs w pliku express.js
- 18. Jak uzyskać dostęp do udostępnionego dysku sieciowego w pliku node.js
- 19. Jak uzyskać dostęp do pliku/folderu w Javie 7 java.nio.file.Path?
- 20. Jak uzyskać dostęp do właściwości utworzonej w pliku global.asax.cs?
- 21. Jak uzyskać dostęp do zasobów w pliku JAR?
- 22. Jak uzyskać dostęp do pliku com.android.internal.R.bool w aplikacji?
- 23. jak uzyskać dostęp do właściwości projektu w pliku maszynki .cshtml?
- 24. Jak uzyskać dostęp do RouteTable.Routes.MapHttpRoute?
- 25. Dostęp do zmiennej sesji z modułu HTTP
- 26. Dostęp do sesji z szablonu TWIG
- 27. Uploadify ashx Context.Session dostaje null
- 28. Jak uzyskać dostęp do aplikacji?
- 29. Jak uzyskać dostęp do GetGlobalResourceObject()
- 30. Jak mogę uzyskać dostęp do pliku logcat na urządzeniu
„HttpContext.Current.Session” Muszę wypróbować ten tyłek zawsze wyjątek. –
Jaki wyjątek otrzymujesz? – mrd
@ mrd +1 - Wszystko może zawieść na kilka tysięcy sposobów .. :) – Onkelborg