the one Posted May 7, 2009 at 05:15 PM Report #262179 Posted May 7, 2009 at 05:15 PM Ola a todos . Na continuidade do meu projecto (http://www.portugal-a-programar.pt/index.php?showtopic=27224) , onde gravo a data e IP do ultimo login na base de dados . Bem, essa parte já está done , isso foi apenas para testar . --- O que quero é uma pagina , em que nao apresenta nada, apenas a trabalhar em background , onde recebe dois dados ( utilizador e password ) de outro sitio (pode ser uma webapplication, windowsform, ou mesmo de uma dll) , valide na base de dados e grave os campos ip, e data caso passwor e utilizador estejam correcto . O que eu não sei é como receber os dados de um outro sitio e grava-los numa variavel para fazer o UPDATE para a base de dados :x Já andei a pesquisar e encontrei que tenho que definir public string Connection { get; set; } Mas que faz a varianel Connection ?
Betovsky Posted May 7, 2009 at 05:20 PM Report #262182 Posted May 7, 2009 at 05:20 PM O protocolo HTTP não suporta que uma página fique a trabalhar em background. O resto da tua dúvida não faz sentido nenhum. "Give a man a fish and he will eat for a day; Teach a man to fish and he will eat for a lifetime. The moral? READ THE MANUAL !" Sign on a computer system consultant's desk
the one Posted May 7, 2009 at 05:24 PM Author Report #262185 Posted May 7, 2009 at 05:24 PM O protocolo HTTP não suporta que uma página fique a trabalhar em background. O resto da tua dúvida não faz sentido nenhum. A unica coisa que a pagina retorna é um "ok" ou um "Nao ok" , depois de verificar na BD o user e a password . Ok, talvez me tenha expressado mal , basicamente o que eu quero é receber dados de outra aplicação , e nesta pagina apenas inseri-los na base de dados :s E obrigado por me tentares ajudar 👍🙂
Betovsky Posted May 7, 2009 at 05:29 PM Report #262187 Posted May 7, 2009 at 05:29 PM A forma mais simples é teres uma página que recebe os parâmetros na querystring. Então valida e tal e retorna a página a dizer ok ou nok. A tua aplicação ou o que for, só tem de chamar a página e colocar os parâmetros na querystring. Está longe de ser a melhor forma mas é simples. "Give a man a fish and he will eat for a day; Teach a man to fish and he will eat for a lifetime. The moral? READ THE MANUAL !" Sign on a computer system consultant's desk
the one Posted May 7, 2009 at 05:33 PM Author Report #262189 Posted May 7, 2009 at 05:33 PM A forma mais simples é teres uma página que recebe os parâmetros na querystring. Então valida e tal e retorna a página a dizer ok ou nok. A tua aplicação ou o que for, só tem de chamar a página e colocar os parâmetros na querystring. Está longe de ser a melhor forma mas é simples. Humm, então o que eu preciso na "pagina em branco" é uma querystring ? E como é que eu recebo os campos de outro sitio que não a "pagina em branco" ? Por exemplo cmd.Parameters.Add("@utilizador", SqlDbType.NVarChar).Value = ???
Betovsky Posted May 7, 2009 at 05:37 PM Report #262190 Posted May 7, 2009 at 05:37 PM Cheira-me que não tens muita noção de HTTP. Vê estes links para ver se ficas a compreender melhor o que tens de fazer. http://en.wikipedia.org/wiki/Querystring http://msdn.microsoft.com/en-us/library/system.web.httprequest.querystring.aspx "Give a man a fish and he will eat for a day; Teach a man to fish and he will eat for a lifetime. The moral? READ THE MANUAL !" Sign on a computer system consultant's desk
the one Posted May 7, 2009 at 05:42 PM Author Report #262191 Posted May 7, 2009 at 05:42 PM Cheira-me que não tens muita noção de HTTP. Vê estes links para ver se ficas a compreender melhor o que tens de fazer. http://en.wikipedia.org/wiki/Querystring http://msdn.microsoft.com/en-us/library/system.web.httprequest.querystring.aspx Eu quero usar o protocolo HTTP , para a transmição dos valores porque o meu orientador de projecto me disse que era mais facil . No inicio, a ideia era criar um WebService , e utilizando o protocolo SOAP , ele faria isso , mas devido a proxys e afins, decidiu-se que se iria fazer , pelo protocolo HTTP . Desculpa se não me estou a explicar bem . :s A unica coisa que acho que me preocupar agora , é na forma como recebo os dados ;s
Betovsky Posted May 7, 2009 at 05:59 PM Report #262193 Posted May 7, 2009 at 05:59 PM Eu quero usar o protocolo HTTP , para a transmição dos valores porque o meu orientador de projecto me disse que era mais facil . No inicio, a ideia era criar um WebService , e utilizando o protocolo SOAP , ele faria isso , mas devido a proxys e afins, decidiu-se que se iria fazer , pelo protocolo HTTP . Então é fazeres exactamente o que te disse. "Give a man a fish and he will eat for a day; Teach a man to fish and he will eat for a lifetime. The moral? READ THE MANUAL !" Sign on a computer system consultant's desk
the one Posted May 7, 2009 at 06:02 PM Author Report #262194 Posted May 7, 2009 at 06:02 PM Adicionei using System.Collections.Specialized; publiquei : public NameValueCollection QueryString { get; set; } no load da pagina : string connectionString2 = "Data Source=.\\SQLEXPRESS;AttachDbFilename=C:\\escola.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True"; SqlConnection conn = new SqlConnection(connectionString2); conn.Open(); SqlCommand cmd = new SqlCommand("UPDATE utilizadores set lastlogin = @lastlogin, lastip = @lastip where username = @utilizador", conn); NameValueCollection coll = Request.QueryString; Agora como é que recebo os dados de outa aplicação ? QUal é o codigo que tenho de usar ? 👍
bruno1234 Posted May 7, 2009 at 09:15 PM Report #262231 Posted May 7, 2009 at 09:15 PM Se tencionas passar um nome de utilizador e uma password na query string, pelo menos tt q a password n fique espetada em claro. Matraquilhos para Android. Gratuito na Play Store. https://play.google.com/store/apps/details?id=pt.bca.matraquilhos
the one Posted May 8, 2009 at 08:45 AM Author Report #262280 Posted May 8, 2009 at 08:45 AM Se tencionas passar um nome de utilizador e uma password na query string, pelo menos tt q a password n fique espetada em claro. Nisso estou a tentar obter ajuda aqui : http://www.portugal-a-programar.org/forum/index.php/topic,36320 Mas no que me quero concentrar primeiro é nisto de receber os dados por Http .
inginheiiro Posted May 8, 2009 at 09:07 AM Report #262283 Posted May 8, 2009 at 09:07 AM a) SOAP é por HTTP 😛 Usar HTTP (em detrimento de SOAP) para passar valores .... :nono: c) SOAP dá para definir Proxy's myWebService.TestWebService webservice = new myWebService.TestWebService(); webservice.Url = "http://test.com/webservice?wsdl"; WebProxy proxy = new WebProxy("1.2.3.4", 8080); proxy.Credentials = new NetworkCredential("username", "password"); webservice.Proxy = proxy; d) Se consegues chegar a uma máquina por um url HTTP, também o consegues por SOAP (Webservice) e)Soap dá para passar credencias e tem segurança. Estás cansado de "ler" a palavra soap? Se calhar é pq é o que deves usar . I used to have a life ... but i bought a programmable machine in 1982 ...
the one Posted May 8, 2009 at 09:29 AM Author Report #262286 Posted May 8, 2009 at 09:29 AM A questão é que não tenho escolha, o prohecto foi-me pedido por HTTP, e é por HTTP que o tenho que fazer . Estou a estagiar numa empresa, e não venho para aqui fazer os projectos à minha maneira , apenas tenho que seguir aquilo que eles querem .
inginheiiro Posted May 8, 2009 at 09:45 AM Report #262289 Posted May 8, 2009 at 09:45 AM A questão é que não tenho escolha, o prohecto foi-me pedido por HTTP, e é por HTTP que o tenho que fazer . Estou a estagiar numa empresa, e não venho para aqui fazer os projectos à minha maneira , apenas tenho que seguir aquilo que eles querem . proactividade = 0. Por HTTP para passar parametros. vê no google Querystring parameters Url Encoding Base64 encoding Por HTTP para receber parametros. melhor será retornares XML e fazeres o dump desse XML para um Dataset. para chamares as paginas. string remoteUri = "http://www.zzz.xxx?nome=............."; WebClient client = new WebClient(); string XML = client.DownloadString(remoteUri); I used to have a life ... but i bought a programmable machine in 1982 ...
the one Posted May 8, 2009 at 11:15 AM Author Report #262312 Posted May 8, 2009 at 11:15 AM Para receber os dados esta correctro assim ? cmd.Parameters.AddWithValue("@utilizador", HttpRequest(User)); A ideia era receber a variavel chamada "User" . @Utilizador é a que vou usar aqui : SqlCommand cmd = new SqlCommand("UPDATE utilizadores set lastlogin = @lastlogin, lastip = @lastip where username = @utilizador", conn); Nota : Publiquei isto private string ToQueryString(NameValueCollection nvc) { return "?" + string.Join("&", Array.ConvertAll(nvc.AllKeys, key => string.Format("{0}={1}", HttpUtility.UrlEncode(key), HttpUtility.UrlEncode(nvc[key])))); } public NameValueCollection QueryString { get; set; }
the one Posted May 11, 2009 at 03:22 PM Author Report #263023 Posted May 11, 2009 at 03:22 PM Pessoal preciso mesmo de ajuda ;s
Betovsky Posted May 11, 2009 at 03:44 PM Report #263028 Posted May 11, 2009 at 03:44 PM Qual é a dúvida exactamente? "Give a man a fish and he will eat for a day; Teach a man to fish and he will eat for a lifetime. The moral? READ THE MANUAL !" Sign on a computer system consultant's desk
the one Posted May 11, 2009 at 04:10 PM Author Report #263042 Posted May 11, 2009 at 04:10 PM É em como receber os dados de uma string "Utilizador" e "password" . Tenho isto . SqlCommand comm = new SqlCommand("Select count(*) From utilizadores Where username = @utilizador And password = @password", sqlconn); Agora, caso essas strings estivessem numa textbox utilizaria isto : comm.Parameters.Add("@utilizador", SqlDbType.NVarChar).Value = TextBox1.Text; O que eu quero é recebe-la por HTTP .
Betovsky Posted May 11, 2009 at 04:17 PM Report #263045 Posted May 11, 2009 at 04:17 PM Chegaste a ler os links que pus anteriormente para a QueryString? Lá diz tudo o que precisas saber, principalmente o do msdn já que estás a usar C#. "Give a man a fish and he will eat for a day; Teach a man to fish and he will eat for a lifetime. The moral? READ THE MANUAL !" Sign on a computer system consultant's desk
the one Posted May 12, 2009 at 10:04 AM Author Report #263288 Posted May 12, 2009 at 10:04 AM Vou reformular toda a minha questão . Agora tenho uma aplicação para Login, em Vb 2008 , em que só tem um form ( duas textbox para username e password, e um botão para efectuar o login) . Nessa aplicação de VB , vou ter 3 variaveis então , o Username , a Password , e IP . O que eu quero é enviar esses valores para uma Pagina em ASP , para lá ser feita a validação na base de dados , e retornar ao Form uma messagebox a dizer se o login foi feito com sucesso ou se o User ou Pass estão erradas . Por onde devo comecar ? Pela aplicação, ou comeco a fazer a pagina em ASP ? Já agora, para conseguir enviar os dados para a pagina, ela tem de estar num servidor WEB ? Vou usar o protocolo HTTP . Obrigado
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now