Mam stronę ASP.NET, gdzie użytkownik jest w stanie uruchomić aplikację konsoli na naszym serwerze, co generuje plik. Chcę, aby użytkownikowi pojawia się komunikat, który stanowi żądanie pliku ", a następnie, gdy tylko zostanie dostępny plik (tj File.Exists dla pliku powraca True), komunikat o żądającym pliku zostanie zmieniona na łącze plik.

Czy to łatwe do osiągnięcia w ASP.NET?

0
Chris 21 październik 2011, 17:50

4 odpowiedzi

Najlepsza odpowiedź

W Ciebie strony internetowej Zaimplementuj połączenie JSON do określonej webmethodzie, która sprawdza, czy plik został wygenerowany lub nie.

Możesz dodać wiadomość w funkcji wywołującego i wyczyść go w pełnym zdarzeniu, gdzie można również utworzyć link do pliku.

function ddlLeaveChanged(sender, e) {


if (leaveTypeId != '-1' && dateFrom != '' && leaveStatusId != '-1') {
     $('#lblMessage').show();
    $.ajax({
        type: "POST",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        url: WebServiceUrl + 'YourMethod',

        success: FunctionSuccedded,
        error: FunctionFailed
    });
}

function FunctionsSuccedded(result, e) {
if (result) { $('#lblMessage').hide(); }

}

2
SShebly 21 październik 2011, 14:01

Można to osiągnąć za pomocą kombinacji:

Funkcja JavaScript można uruchomić każdy x sekund (przy użyciu setInterval), aby wywołać metodę sieci Web za pomocą AJAX, aby sprawdzić, czy plik istnieje.

Sprawdź linki, które podane powyżej. Powinno to wszystko, czego potrzebujesz, aby uzyskać tę pracę.

1
Curt 21 październik 2011, 13:56

Jeśli chcesz uniknąć systemów plików razem, można również odłączyć pola bazy danych, tj. Gdy połączone zostanie kliknięty wpis na tabelę bazy danych tego rodzaju, który oznacza wtórne tworzenie plików, a następnie okresowo sprawdzaj, czy status ma status został zaktualizowany. Kod boczny serwera zaktualizowałby ten sam klucz i mieć adres URL w Datastore, dzięki czemu można sprawdzić, czy został utworzony status utworzonych plików i link Datastore. Spowodowałoby to również posiadanie historii tworzenia plików, które można oczyścić, gdy widziałeś, więc z perspektywy ASP.NET polegałbyś na kodzie dostępu do danych, aby ustalić, czy twój plik został utworzony.

1
Ta01 21 październik 2011, 13:59

Niewiele różny w ASP.NET vs każdej innej platformy. Możesz się o tym pójść:

  1. Wykonaj połączenie AJAX, gdy kliknięty zostanie łącze wyzwalające.
  2. Kod po stronie serwera, który obsługuje połączenie, uruchamia proces zewnętrzny, aby wygenerować plik i czeka na zakończenie.
  3. Po sprawdzeniu, że plik jest rzeczywiście tam, odpowiadaj na połączenie AJAX z znaczącą wiadomością (tj. Jeden, który zawiera wystarczającą ilość informacji, aby zbudować link do pliku).
0
Jon 21 październik 2011, 13:55