Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

WCF izmedju klijenta i servera na razlicitim racunalima

  • 2 odgovora
  • 1.637 pregleda

Najnovija ↓

WCF izmedju klijenta i servera na razlicitim racunalima 23.03.2010. u 16:41 · pre 202 meseca #1
Imam jedno pitanje. Napravila sam 2 aplikacije server i klijent koristenjem WCF-a koristenjem wshttpbindinga. Lokalno sve radi savrseno, kad klijent stavim na jedno racunalo a server na drugo, onda stvar puca. Pokusala sam sve moguce i nemoguce i nakon svakog mog pokusaja da rijesim problem dobivam neku drugu poruku, uglavnom je rjec o SecurityNegotiationException. Nasla sam i primjere s neta, koji naravno rade lokalno ali ne i udaljeno. Zanima me je li rjec i postavkama u windowsima ili ja nesto krivo radim, iako ne znam sto bi to bilo jer nekako pretpostavljam da bi sve trebalo biti isto osim sto localhost zamjenim sa stvarnom adresom. Inace stvar uredno radi sa basichttpbindingom, a problem s time je sto on ne podrzava Session, a meni to treba. Trebam i duplexe, za koje ne znam dali su podrzani sa strane net.tcpa, tako da vjerovatno je jedino rjesenje wshttpbinding.

Server:

Code:
WSHttpBinding binding = new WSHttpBinding();
            binding.Security.Mode = SecurityMode.None;

            Uri u = new Uri("http://localhost:60000/TmpWCF");
            EndpointAddress ea = new EndpointAddress(u);
           
            ServiceHost sh = new ServiceHost(typeof(TmpWCF.StockService));
            sh.AddServiceEndpoint(typeof(IStockService), binding, u);
            System.ServiceModel.Description.ServiceMetadataBehavior smb = new System.ServiceModel.Description.ServiceMetadataBehavior();
            smb.HttpGetEnabled = true;
            smb.HttpGetUrl = u;
            sh.Description.Behaviors.Add(smb);

            
            sh.Open();

            Console.WriteLine("Press <Enter> to terminate...");
            Console.ReadLine();
            sh.Close();


Klijent:

Code:
WSHttpBinding binding = new WSHttpBinding();
            binding.Security.Mode = SecurityMode.None;
        
            Uri u = new Uri("http://192.168.1.24:60000/TmpWCF");
            EndpointAddress address = new EndpointAddress(u);

            ChannelFactory<IStockService> cf = new ChannelFactory<IStockService>(binding, address);

            IStockService stockService = cf.CreateChannel();
            Console.WriteLine(stockService.GetPrice("something").ToString());
            Console.ReadLine();


Re: WCF izmedju klijenta i servera na razlicitim racunalima 23.03.2010. u 17:08 · pre 202 meseca #2
posto si iskljucila security moras da ukljucis WS-ReliableMessaging inace sessije ne rade.

Potpis
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog
naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji
je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan,
sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv - Z.Đinđić
Re: WCF izmedju klijenta i servera na razlicitim racunalima 24.03.2010. u 08:15 · pre 202 meseca #3
Duznik sam ti i to ozbiljno mislim. Mucim se s time vec 3 dana i probala sam to sve postaviti ali valjda nisam iskljucila sigurnost kad sam postavljala reliablesession i obrnuto, a mozda nesto drugo nije stimalo pa mi poruke nisu prolazile jer sam vec te propertije naucila napamet a stvar i dalje nije radila. Imam jos jedno pitanje kod postavljanja sigurnosti sa windows client credential kako stvari funkcioniraju. Jer po meni ili server mora znati da je tom korisniku omogucen pristup, znaci on negdje mora pamtiti korisnika ili server i login moraju imati isti login i pass sto mi je suludo jer korisnik se ne mora spajati preko jednog racunala ili ne mora imati isti account na vise racunala. Probala sam i koristenjem UserName ali i to mi nije prolazilo.
Hvala ti jaaaako puno.
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme