Aplikacja ASP z wykorzystaniem linq - pytanie

0

Witam

Od  kilku  dni zastanawiam się nad jedną kwestią szukałem informacji w internecie jednak nie mogłem znaleźć jednoznacznej odpowiedzi. Tworzę aplikację asp (c#) z wykorzystaniem technologi linq. Zastanawiam się czy trzeba zastosować jakieś dodatkowe zabezpieczenia w przypadku gdy ze strony będzie korzystać kilku użytkowników jednocześnie. Oto krótki przykład który wyjaśni o co mi chodzi: 

Po załadowaniu strony w PageLoad w oparciu o pewne kryteria wstawiam dane do tabeli sql(ID IDProcesu Nazwa Opis). W SESJI przetrzymuję IDProcesu , które wykorzystuje do wyświetlenia obecnie wprowadzonych danych (z tabeli) w komponencie GridView . Jeśli pierwszy użytkownik wejdzie na stronę (IDProcesu= np.2 ) a zaraz po nim kolejny (IDProcesu= 3 ) to czy pierwszemu użytkownikowi IDProcesu zmieni się również na 3 czy pozostanie równy 2?

Od sesji przetrzymującej IDProcesu zależny jakie dane zostaną wyświetlone użytkownikowi dlatego chciałem sie upewnić czy jest to już jakoś zabezpieczone wewnątrz aplikacji. Na razie aplikacja dzieła lokalnie i nie mam jak jej przetestować. W przypadku gdy na tym samym PC użyłem 2 różnych przeglądarek omawiany IDProcesu niestety sie zmienił nie wiem czy tak samo się stanie gdy aplikacja z bazą danych będzie na serwerze?

W miarę możliwości proszę o wskazówki.

pozdrawiam

0

Każdy użytkownik ma swoją sesję. Tak samo w przypadku dwóch przeglądarek na jednym kompie. Jeżeli masz takie same wartości w dwóch przeglądarkach to raczej stawiałbym na błąd w aplikacji

0

A na jakiej zasadzie nadajesz to IDProcesu?

0

Ten kod jest w PageLoad teraz juz wszystko działa i aplikacja odróżnia sesje na 2 rożnych przeglądarkach

 sourceObjectName = "X04_BusFunc_Plain_FI";
                Sub1FieldList = "Select DISTINCTROW [Building],[Recovery Team],[Team ID],[Business Function],[F2B],[F3B],[F4B]";

                update.ReturnDataSourceFieldsToDisplay(Sub1FieldList);

                order = 1;
                var linqDataSourceFieldsCount = from data in database.DataSourceFieldsToDisplayTMP
                                                select data.FieldName;

                var linqPlanEditorDetailsCount = from data in database.PlanEditorDetailsTMP
                                                 select data.CurrentProcesID;

                int countDataSourceFields = linqDataSourceFieldsCount.Count();
                int countPlanEditorDetails = linqPlanEditorDetailsCount.Count();
                var maxIdProcesu= (from data in database.PlanEditorDetailsTMP
                                           select data.CurrentProcesID).Max();
                for (int i = 1; i <= countDataSourceFields; i++)
                {
                    PlanEditorDetailsTMP1 plan = new PlanEditorDetailsTMP1();
                    var fieldName = (from data in database.DataSourceFieldsToDisplayTMP
                                     select new
                                     {
                                         data.FieldName,
                                         data.DataSourceFieldID
                                     }).FirstOrDefault(data => data.DataSourceFieldID == i);

                    if ((fieldName.FieldName.ToString().ToUpper() != "BUILDING") & (fieldName.FieldName.ToString().ToUpper() != "RECOVERY TEAM") &  
                       (fieldName.FieldName.ToString().ToUpper() != "TEAM ID"))
                    {


                        plan.Order = order;
                        plan.FieldName = fieldName.FieldName.ToString();
                        plan.CurrentProcesID = int.Parse(maxIdProcesu.ToString()) + 1;
                        update.PlanEditorDetailsTMP1s.InsertOnSubmit(plan);
                        update.SubmitChanges();
                        order = order + 1;
                    }

                }
                 Session["ID"] = maxIdProcesu;

Mam jeszcze jedno pytanie. Istnieje możliwość niepodleczenia nowej aplikacji asp (c#) do istniejącej aplikacji asp(VB)? np tak aby po naciśnięciu przycisku w aplikacji Visual Basic użytkownik został przekierowany do aplikacji napisanej w c#?

0
kradzik napisał(a)

Mam jeszcze jedno pytanie. Istnieje możliwość niepodleczenia nowej aplikacji asp (c#) do istniejącej aplikacji asp(VB)? np tak aby po naciśnięciu przycisku w aplikacji Visual Basic użytkownik został przekierowany do aplikacji napisanej w c#?

Co to jest "niepodleczenie"?
Chcesz po prostu zrobić link z jakiejś strony do innej?

0

Tak obecna aplikacja napisana jest w Visual Basic , ja tworze nową aplikacje Visual Studio C#. Chciałbym aby po naciśnięciu przycisku na stronie w obecnej aplikacji (VB) użytkownik został przekierowany do strony z nową aplikacją(c#), którą teraz tworzę. Nowa aplikacja powinna wykorzystywać sesje z poprzedniej aplikacji. Jest możliwość wykorzystania 2 aplikacji napisanych w różnych jeżykach (VB,C#) i przesyłanie danych między nimi (sesje)?

0

Nigdy czegoś takiego nie robiłem, i w ogóle w ASP.NET od maja nie siedzę, ale mam taki pomysł, że może dałoby radę, o ile sesja siedzi w bazie i udałoby się ją odczytać znając ID sesji z ciasteczka.
Takie coś znalazłem w necie:
http://blogs.msdn.com/b/toddca/archive/2007/01/25/sharing-asp-net-session-state-across-applications.aspx
http://www.asp101.com/articles/jayram/sharestate/default.asp

1 użytkowników online, w tym zalogowanych: 0, gości: 1