Strona główna » Carckowanie » lang csharp » Potwierdzenie dostarczenia informacji do webserwisu
Potwierdzenie dostarczenia informacji do webserwisu [wiadomość #715] wto, 03 lipiec 2007 04:16 Przejdź do następnej wiadomości
cinias jest aktualnie niedostępny cinias
Wiadomości: 5
Dołączył(a): maj 2007
Junior Member
Witam,

Mam sobie Webservice napisany w BDS2006. I aplikację kliencką napisaną w C#
pod Windows CE 5.0. Problem polega na tym że urządzenie na którym działa w/w
aplikacja czasami jest poza zasięgiem sieci. To co robię w tej aplikacji
jest dosyć ważne ponieważ potwierdzam ilość danego produktu.

Mamy taką sytuację. Podczas potwierdzenia ilości tracę sieć i nie wiem czy
moje potwierdzenie doszło do webserwisu czy nie i nie wiem czy mam
potwierdzac jeszcze raz bo nie poszlo czy też rzeczywiscie poszło i zostało
wykonane.
Jeżeli potwierdze jeszcze raz gdzie wcześniej nie poszlo to ok ale jezeli
poszlo i potwierdze do będzie 2x tyle produktu analogicznie w drugim
przypadku

Pytanie jest takie. Czy jest możliwość sprawdzenia, jakaś metoda,
standardowe property bądz sposób czy moje operacja została odebrana przez
webserwis. Chodzi mi raczej o metodę standardową nie tylko dla tego
przypadku (potwierdzenia). Oczywiście sprawdzam przed potwierdzeniem czy mam
połączenie z bazą ale zakładam przypadek ze po sprawdzeniu trace siec i co
wtedy .....

Prosiłbym o wskazówki jeżeli ktoś spotkał się juz z podobnym problemem.

Pozdrawiam

Marcin


--
Re: Potwierdzenie dostarczenia informacji do webserwisu [wiadomość #716 (odpowiedź na #715) ] wto, 03 lipiec 2007 04:55 Przejdź do poprzedniej wiadomościPrzejdź do następnej wiadomości
Wiktor Zychla jest aktualnie niedostępny Wiktor Zychla
Wiadomości: 11
Dołączył(a): maj 2007
Junior Member
> Pytanie jest takie. Czy jest możliwość sprawdzenia, jakaś metoda,
> standardowe property bądz sposób czy moje operacja została odebrana przez
> webserwis. Chodzi mi raczej o metodę standardową nie tylko dla tego

a czy nie wystarczy odebrać jakąś wartość z funkcji WebService?

Wiktor Zychla
Re: Potwierdzenie dostarczenia informacji do webserwisu [wiadomość #717 (odpowiedź na #716) ] wto, 03 lipiec 2007 06:06 Przejdź do poprzedniej wiadomościPrzejdź do następnej wiadomości
cinias jest aktualnie niedostępny cinias
Wiadomości: 5
Dołączył(a): maj 2007
Junior Member
co masz na myśli jakąś wartość...a na jakiej podstawie stwierdzisz ze "ta
wartość" pochodzi od danej aplikacji od tego a nie innego usera? Raczej
myślałem coś na niższym poziomie albo bardziej systemowym.. trudno mi
powiedzieć konkretniej bo nie wiem czy coś takiego w ogóle jest

Pozdrawiam

--
Re: Potwierdzenie dostarczenia informacji do webserwisu [wiadomość #718 (odpowiedź na #715) ] wto, 03 lipiec 2007 07:58 Przejdź do poprzedniej wiadomościPrzejdź do następnej wiadomości
bozysob jest aktualnie niedostępny bozysob
Wiadomości: 6
Dołączył(a): czerwiec 2007
Junior Member
On 3 Lip, 10:16, "cinias" <cin...@o2.pl> wrote:
> Witam,
>
> Mam sobie Webservice napisany w BDS2006. I aplikację kliencką napisaną w C#
> pod Windows CE 5.0. Problem polega na tym że urządzenie na którym działa w/w
> aplikacja czasami jest poza zasięgiem sieci. To co robię w tej aplikacji
> jest dosyć ważne ponieważ potwierdzam ilość danego produktu.
>
> Mamy taką sytuację. Podczas potwierdzenia ilości tracę sieć i nie wiem czy
> moje potwierdzenie doszło do webserwisu czy nie i nie wiem czy mam
> potwierdzac jeszcze raz bo nie poszlo czy też rzeczywiscie poszło i zostało
> wykonane.
> Jeżeli potwierdze jeszcze raz gdzie wcześniej nie poszlo to ok ale jezeli
> poszlo i potwierdze do będzie 2x tyle produktu analogicznie w drugim
> przypadku
>
> Pytanie jest takie. Czy jest możliwość sprawdzenia, jakaś metoda,
> standardowe property bądz sposób czy moje operacja została odebrana przez
> webserwis. Chodzi mi raczej o metodę standardową nie tylko dla tego
> przypadku (potwierdzenia). Oczywiście sprawdzam przed potwierdzeniem czy mam
> połączenie z bazą ale zakładam przypadek ze po sprawdzeniu trace siec i co
> wtedy .....
>
> Prosiłbym o wskazówki jeżeli ktoś spotkał się juz z podobnym problemem.
>
> Pozdrawiam
>
> Marcin
>
> --

Ja bym to rozwiązał w następujący sposób:
Przy tworzeniu każdego zamówienia generował pewien GUID, który by
reprezentował takie potwierdzenie zamówienia i wraz z nim był wysyłany
na sewer gdzie byłby zapisywany gdzieś w bazie. Na serwerze
utworzyłbym też dodatkową metodę webową w stylu: bool Confirm(Guid
guid), która by zwracała true jeżeli zamówienie przesłane z danym
guidem zostało znalezione, w przeciwnym wypadku false.
Po stronie klienta po wysłaniu zamówienia, odrazu (lub po jakimś tam
"delayu") wywoływałbym metodę Confirm i sprawdzał czy zamówienie
dotarło. Wywoływałbym ten confirm tak długo (pewno z jakimiś
"delayami") aż bym dostał odpowiedź, wtedy na podstawie odpowiedzi,
albo ponowiłbym wysłanie zamówienia (odpowiedź false), albo wyrzucił
je z pamięci czy robił coś tam innego (odpowiedź true).
Oczywiście ma to wszystko zastosowanie tylko wtedy, gdy możesz
zmodyfikować aplikację serwerową. Bardziej "nieskopoziomowo" to trzeba
by było pewnie poszukać coś o zadaniach tranzakcyjnych przez Web
Service, ale na tym to się zupełnie nie znam.
Re: Potwierdzenie dostarczenia informacji do webserwisu [wiadomość #719 (odpowiedź na #717) ] wto, 03 lipiec 2007 08:33 Przejdź do poprzedniej wiadomościPrzejdź do następnej wiadomości
Wiktor Zychla jest aktualnie niedostępny Wiktor Zychla
Wiadomości: 11
Dołączył(a): maj 2007
Junior Member
> co masz na myśli jakąś wartość...a na jakiej podstawie stwierdzisz ze "ta
> wartość" pochodzi od danej aplikacji od tego a nie innego usera? Raczej

widocznie nie rozumiem problemu - mi wydaje się, że jesli wołam funkcję
WebService i po stronie klienta dostanę odpowiedź (a nie wyjątek, timeout
lub coś podobnego), to znaczy, że żądanie http się powiodło, klasa proxy
dostała 200 OK z treścią soapa z odpowiedzią w środku i to jest najlepszy
dowód na to, że dane dotarły do serwera aplikacji (skoro wysłał odpowiedź to
znaczy, że w szczególności dostał wcześniej dane).

Wiktor Zychla
Re: Potwierdzenie dostarczenia informacji do webserwisu [wiadomość #723 (odpowiedź na #718) ] śro, 04 lipiec 2007 03:30 Przejdź do poprzedniej wiadomościPrzejdź do następnej wiadomości
Yamma jest aktualnie niedostępny Yamma
Wiadomości: 14
Dołączył(a): maj 2007
Junior Member
Użytkownik <bozysob@gmail.com> napisał w wiadomości
news:1183463925.570480.125800@n2g2000hse.googlegroups.com...
On 3 Lip, 10:16, "cinias" <cin...@o2.pl> wrote:

> Przy tworzeniu każdego zamówienia generował pewien GUID, który by
> reprezentował takie potwierdzenie zamówienia i wraz z nim był wysyłany
> na sewer gdzie byłby zapisywany gdzieś w bazie.
> Po stronie klienta po wysłaniu zamówienia, odrazu (lub po jakimś tam
> "delayu") wywoływałbym metodę Confirm i sprawdzał czy zamówienie
> dotarło.

IMO, wystarczyłoby wywołanie metody webserwisowej ubrać w try...catch. Jeśli
w momencie gdy webserwis wywołuje instrukcję return nie ma połączenia z
klientem, to powinno rzucić wyjątkiem. Wówczas można byłoby sprawdzać czy
zamówienie dotarło.
yamma
Re: Potwierdzenie dostarczenia informacji do webserwisu [wiadomość #724 (odpowiedź na #723) ] śro, 04 lipiec 2007 07:24 Przejdź do poprzedniej wiadomości
bozysob jest aktualnie niedostępny bozysob
Wiadomości: 6
Dołączył(a): czerwiec 2007
Junior Member
On 4 Lip, 09:30, "Yamma" <y...@wp.pl> wrote:
> Użytkownik <bozy...@gmail.com> napisał w wiadomościnews:1183463925.570480.125800@n2g2000hse.googlegroups.com...
> On 3 Lip, 10:16, "cinias" <cin...@o2.pl> wrote:
>
> > Przy tworzeniu każdego zamówienia generował pewien GUID, który by
> > reprezentował takie potwierdzenie zamówienia i wraz z nim był wysyłany
> > na sewer gdzie byłby zapisywany gdzieś w bazie.
> > Po stronie klienta po wysłaniu zamówienia, odrazu (lub po jakimś tam
> > "delayu") wywoływałbym metodę Confirm i sprawdzał czy zamówienie
> > dotarło.
>
> IMO, wystarczyłoby wywołanie metody webserwisowej ubrać w try...catch. Jeśli
> w momencie gdy webserwis wywołuje instrukcję return nie ma połączenia z
> klientem, to powinno rzucić wyjątkiem. Wówczas można byłoby sprawdzać czy
> zamówienie dotarło.
> yamma

Faktycznie masz rację, nie ma sensu sprawdzać takiego zamówienia,
jeżeli odrazu mamy pewność że wszystko przebiegło ok.
Poprzedni wątek:ASP .NET 2.0 - prosty problem z gridem
Następny wątek:problem z organizacją formularzy
Idź do forum:
  


Aktualna data: sob lut 11 06:34:58 EST 2012

Łączny czas generowania strony wyniósł 0,00646 sekund.
.:: Kontakt :: 901 906 no host system wymiany linkow niezarejestrowana strona 906 Strona główna ::.

Powered by: FUDforum 2.7.6.
Copyright ©2001-2006 FUD Forum Bulletin Board Software