2013-08-02 3 views
1

특정 질문을 해결하고 싶습니다. 따라서이 질문은 더 많은 논의가 될 것입니다.비동기 페이지 Asp.net 웹 양식

Basiclly에는 WebForm1.aspx가있는 asp.net 프로젝트가 있으며 버튼이 있습니다. 즉시 example.com의 clien 누를 버튼을 스레드 발사하고, inmediatlly 다음과 같은 Response.Redirect를이 :

protected void Button1_Click(object sender, EventArgs e) 
{ 
    BL.Class1 cd = new BL.Class1(); 
    cd.Run(); // or cd.AsyncRun(); 
    Response.Redirect("~/WebForm2.aspx",true); 
} 

물론 evrything가 비 정적되어야한다. 를 bussiness 로직 클래스는이 같은 뭔가를해야만 같습니다 염두에두고

public class Class1 
{ 
    public int Signal = 0; 
    // non blocking Run... the webserver continues with this process running backwards 
    public void RunAsync() 
    { 
     Signal = 0; 
     new System.Threading.Thread(() => 
     { 
      System.Threading.Thread.Sleep(100000); // simulate heavy task! 
     } 
     ).Start(); 
     Signal = 1; 
    } 

    // blocking Run... 
    public void Run() 
    { 
     Signal = 0; 
     System.Threading.Thread.Sleep(100000); // simulate heavy task! 
     Signal = 1; 
    } 
} 

을 여기 토론은 다음과 같습니다 - WebForm2.aspx에서 나는 풀 싶습니다 어느 클라이언트 (자바 스크립트/아약스/비 정적 웹 서비스) 또는 서버를 클라이언트 (registerscript with scriptmanager)로 보내면 과중한 프로세스 후에 "Signal"변수가 "True"로 설정되고 사용자에게 (빨간색 배경이있는 div를 통해 녹색으로) 또는 다른 것을 알리십시오. - 그렇다면 SignalR 또는 Node.js 또는 WebApi 또는 WebSockets jet을 사용하고 싶지 않은 경우 가장 좋은 방법은 무엇입니까? - MVC 프로젝트 접근 방식에서 이러한 상황을 설명 할 수있는 문서가 있습니까?

모든 공동체, 정말이 문제에 도움에 감사드립니다. 당신이 원하지 않는 경우 공상 아무것도 필요 없음 -

BR,

답변

1

트릭을 할 것입니다 간단한 메타 새로 고침, 또는 설정된 간격으로 페이지를 다시로드 자바 스크립트처럼 소리.

무거운 작업의 완료 상태에 따라 빨간색 또는 녹색 div로 페이지 (서버 쪽)를 렌더링하기 만하면됩니다.

관련 문제