Jump to content

Recommended Posts

Posted

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 ?  :wallbash:  :wallbash:

  • Replies 49
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Posted

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

Posted

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  👍🙂

Posted

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

Posted

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 = ??? 
Posted

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

Posted

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

Posted

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

Posted

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 ?  :wallbash:  :wallbash:

QUal é o codigo que tenho de usar ?  👍

Posted

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 ...

Posted

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 .

Posted

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 ...

Posted

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; }
Posted

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

Posted

É 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 .

Posted

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

Posted

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

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
×
×
  • 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.