Jump to content
Sign in to follow this  
iniciante

Response.Redirect dentro de uma Thread

Recommended Posts

iniciante

Bem eu já tive umas horas a partir a cabeça nisto e não encontro a solução =/! eu ao fazer o registar num site, tenho um campo em que abre uma nova janela para o utilizador inserir uma chave. para abrir essa janela uso o codigo a baixo:

string javaScript = "<script language=JavaScript>\n" + "url();\n" + "</script>";
                    ClientScript.RegisterStartupScript(GetType(), "cliente", javaScript);

ao mesmo tempo que ele abre uma janela eu crio uma thread que vai ficar à espera que uma variavel sessão tenha o valor 1(esse valor é enviado da janela que abrio). quando a variavel sessão fica com o valor um, essa janela que abriu fecha e na thread eu queria fazer o Response.Redirect para outra pagina.

na thread eu tenho este codigo:

public void ThreadTask()
        {
        
            while(true)
                if (Convert.ToInt32(Session["thread"]) == 1)
                {
                   Respose.Redirect("prin.aspx",false);

                    thread.Abort();
                } 
                    
               
            
          }

mas da-me sempre erro no Redirect..! alguem me pode ajudar com istou ou apresentar outra solução?

o erro que dá é este :

HttPException was unhandled

A resposta não está disponível neste contexto.

obrigado


RC

Share this post


Link to post
Share on other sites
iniciante

bruno 1234 a ideia era a seguinte:

eu qnd me estou a registar peço tbm um codigo de segurança para verificação anti spam, ou seja, os típicos codigos que agr grand parte dos sites pedem onde nos temos que copiar o que esta numa imagem meio esquisita. O utilizador ao carregar na tecla registar, se esse codigo estiver errado eu abro uma nova janela com o codigo que esta em baixo, e nessa pagina pede novamente para inserir o codigo.

na pagina webform1



  string javaScript = "<script language=JavaScript>\n" + "url();\n" + "</script>";
                ClientScript.RegisterStartupScript(GetType(), "cliente", javaScript);

no html na dapina webform1

<script type="text/javascript">
    function url() {
         TopPosition = (screen.height) ? (screen.height - 430) / 2 : 0;
         LeftPosition = (screen.width) ? (screen.width - 310) / 2 : 0;
         hidden = open('segur.aspx', 'NewWindow', 'top=' + TopPosition + ',left='+ LeftPosition + ',width=430,height=310,status=yes,resizable=yes,scrollbars=no');
     }  
</script>

ao mesmo tempo que eu mando abrir esta janela, eu inicio tambem um thread para ficar à espera que a pagina que abrio de indicações à principal de que o codigo introduzido pelo utilizador esta correcto! e com isso eu quero fechar a janela e na principal fazer redirect para outra pagina..! eu ja percebi que isto com threads não funciona..queria que me indicassem outra maneira


RC

Share this post


Link to post
Share on other sites
daj

bruno 1234 a ideia era a seguinte:

eu qnd me estou a registar peço tbm um codigo de segurança para verificação anti spam, ou seja, os típicos codigos que agr grand parte dos sites pedem onde nos temos que copiar o que esta numa imagem meio esquisita.

Estás a falar de um CAPTCHA? http://en.wikipedia.org/wiki/CAPTCHA

O utilizador ao carregar na tecla registar, se esse codigo estiver errado eu abro uma nova janela com o codigo que esta em baixo, e nessa pagina pede novamente para inserir o codigo.

Porque abres outra janela? O que fazes se o utilizador, na submissão do formulário, fornecer dados incorrectos? Deves devolver o formulário de novo, com a informação da existência e localização dos dados incorrectos. O valor do CAPTCHA é mais um item do formulário. Se estiver errado, devolves o formulário de novo com a indicação que o CAPTCHA está incorrecto.

Abrir novas janelas é rude. Nas palavras de 1999 do Nielsen,

Opening up new browser windows is like a vacuum cleaner sales person who starts a visit by emptying an ash tray on the customer's carpet.

http://www.useit.com/alertbox/990530.html

ao mesmo tempo que eu mando abrir esta janela, eu inicio tambem um thread para ficar à espera que a pagina que abrio de indicações à principal de que o codigo introduzido pelo utilizador esta correcto! e com isso eu quero fechar a janela e na principal fazer redirect para outra pagina..! eu ja percebi que isto com threads não funciona..queria que me indicassem outra maneira

Pois, não funciona e se essa solução andasse (coxeasse) estás a arranjar problemas. O que farias se um cliente mal intencionado fizesse vários pedidos de registo e nunca colocasse o CAPTCHA correcto? Ias criar threads até esgotares os recursos do teu servidor?

Share this post


Link to post
Share on other sites
iniciante

Não porque a thread só é criada uma vez! e essa nova janela a cada código errado fornece outro novo!. eu ja mudei de ideias e tou a fazer tudo na mesma janela..mas de qql maneira vou precisar d fazer a mesma funcionalidade (quando a janela fechar a principal redireciona para outra). ou seja , quando abrem por exemplo o facebook e vêm as fotos de alguém, aquilo abre uma nova janela! o que eu quero é isso e quando fechar essa janela, a que está por baixo redireccione para outra!


RC

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.