Keresés
Hírlevél
 
Kiemelt témák
»Hogyan védjem meg a portálomat?
»Google wave
»Assembly :: röviden
Állás/munka
»Profi PHP szakit sörért felbérelnék :)
»IPhone App elkészítése
»Profi sitebuildert keresünk projekt alapon
»IT projektkoordinátort keresek Tatabányára
»Másodállást keresek, C# és C++
» több téma
Tudástár
?Link szövegének értékátadása fájlba
?Szövegszerkesztő c#
?Termékkereső típusra, gyártóra, kategóriára
?PHP mappa méretének meghatározása+ kiterjesztés
?TGridPanel - adott rész színének megváltoztatása.
?Listbox elem színezése
?Rajzolás Canvas-re JAVA-ban
?Statikus adattag
Ajax ellenőrzés, eredményfüggő megjelenítés
?Kép megjelenítési probléma
?C#-ban txt-ből másolás és írás
?Word szövegdoboz adatainak kimásolása
?C# 8 bites szabványos HEX file beolvasása
?C# kép betöltése futásidőben
?Free pascal unicode stringek
» több téma
Társalgó
»Melyik főiskola vagy egyetem?
»Trial megvalositasa
»PHP fejlesztés felsőfokon eladó !
»Eclipse 3.5.2 és Visual Editor 1.4
»C#-ban txt-ből másolás
»Adatvédelmi nyilvántartás
»Oracle SQL*PLUS windows kliens
»Weblap véleményezés
»HTML szerkesztő
»Webcam -> Flash -> Socket server
» több téma
ASP  |  C#  |  C++  |  CSS  |  Delphi  |  Flash  |  HTML  |  Java  |  JavaScript  |  Pascal  |  Perl  |  PHP  |  Python  |  Visual Basic  |  Visual C++  |    »    

Tudástár

»

WCF TCP Streamed transfer mode lehet duplex?

»

WCF TCP Streamed transfer mode lehet duplex?

nyitotta: zsfritz, idő: 2010.02.08., moderátor: Ivn
  Értesítés változás esetén Felvétel kedvencekhez Küldés emailben Nyomtatható verzió

Kategóriák:Alkalmazások » Windows alkalmazások
Programozási nyelvek » C#
Programozási platformok » .NET programozás

Sorrend:
Időzóna:
Blokkméret:
Egy self-hosted WCF szolgaltatason dolgozok.
NetTcpBinding-et hasznalok Streamed TransferMode-dal, mert nagy file-okat is atkuldok. A rendszer mukodik.
Most fejleszteni szeretnem, ugy, hogy duplex legyen, callback-et tehessek bele.

A kerdesem: Ez lehetseges? Lehet NetTcpBinding Streamed TransferMode-dal duplex?

Kerlek benneteket, hogy CSAK self-hosted, azaz kodbol host-olt peldat adjatok!!!!!

Ime a hatter:

IMyDataService.cs

    [ServiceContract(CallbackContract = typeof(INotifyCallback))]
    public interface IMyDataService
    {
        [OperationContract(ProtectionLevel = System.Net.Security.ProtectionLevel.None)]
        [FaultContract(typeof(MyFaultException))]
        [FaultContract(typeof(MyUserAlreadyLoggedInFaultException))]
        [FaultContract(typeof(AuthorizationFaultException))]
        Guid Authenticate(Guid clientID, string userName, string password, bool forceLogin);
    }

INotifyCallback.cs

    public interface INotifyCallback
    {
        [OperationContract(IsOneWay = true)]
        void ShowMessageBox(string message);
    }

Sajat ServiceHost class-t hasznalok:

    public class CertificateServiceHost : ServiceHost
    {
        public CertificateServiceHost(Type serviceType, Uri[] baseAddresses)
            : base(serviceType, baseAddresses)
        {
        }

        public CertificateServiceHost(object singletonInstance, Uri[] baseAddresses)
            : base(singletonInstance, baseAddresses)
        {
        }

        public CertificateServiceHost(object singletonInstance)
            : base(singletonInstance)
        {
        }

        protected override void ApplyConfiguration()
        {
            base.ApplyConfiguration();
            //...
        }

        protected override void InitializeRuntime()
        {
            NetTcpBinding tcpBinding = new NetTcpBinding();
            tcpBinding.TransferMode = TransferMode.Streamed;
            tcpBinding.Security.Mode = SecurityMode.None;   // TODO!
            tcpBinding.MaxBufferPoolSize = 2147483647;
            tcpBinding.MaxReceivedMessageSize = 2147483647;
            tcpBinding.ReaderQuotas.MaxDepth = 2147483647;
            tcpBinding.ReaderQuotas.MaxStringContentLength = 2147483647;
            tcpBinding.ReaderQuotas.MaxArrayLength = 2147483647;
            tcpBinding.ReaderQuotas.MaxBytesPerRead = 2147483647;
            tcpBinding.ReaderQuotas.MaxNameTableCharCount = 2147483647;

            ServiceMetadataBehavior metadataBehavior = new ServiceMetadataBehavior();
            this.Description.Behaviors.Add(metadataBehavior);

            this.AddServiceEndpoint(typeof(IMetadataExchange), tcpBinding, "MEX");
            this.AddServiceEndpoint(typeof(IMyDataService), tcpBinding, "MyDataService");

            base.InitializeRuntime();
        }
    }

Amikor megrpbalom elinditani a kiszolgalast:



MyDataService singleton = new MyDataService();
tcpServiceHost = new CertificateServiceHost(singleton, baseAddresses);
tcpServiceHost.Closed += new EventHandler(host_Closed);
tcpServiceHost.Closing += new EventHandler(host_Closing);
tcpServiceHost.Faulted += new EventHandler(host_Faulted);
tcpServiceHost.UnknownMessageReceived += new EventHandler<UnknownMessageReceivedEventArgs>(host_UnknownMessageReceived);
tcpServiceHost.Opened += new EventHandler(host_Opened);

tcpServiceHost.Open();
MyDataService service = (MyDataService)tcpServiceHost.SingletonInstance;

Open()-re exception-t kapok.

A 'tcpBinding.TransferMode = TransferMode.Streamed' nelkul ugy tunik, hogy mukodik. Azaz csak Streamed modban nem megy.

Az exception a kovetkezot mondja:
"Contract requires Duplex, but Binding 'NetTcpBinding' doesn't support it or isn't configured properly to support it."

Az allitasnak egyatalan melyik fele az igaz? Lehet ilyet csak nem jol konfiguraltam? Hogyan konfiguralhatnam jol kodbol?

Van otletetek?
Segíthet?..(Hunsoul - WCF, NetTcpBinding, Streamed transfer mode can be duplex?)
Belépés
E-mail cím:
Jelszó:

RSS források
-Hírek
-Cikkek
-Fórumok
Top pontgyűjtők
»Micu1.800
»Árnyék910
»vinie530
»Frostech0440
»Riha420
»djjjozsi410
»pelz350
»stl340
»klorand320
»NevemTeve230
Hírek
»Cassandra-ra tér át a MySQL-ről a Digg is
»Letölthető a Mozilla Jetpack SDK első kiadása
»Saját alkalmazásboltot nyitott a Google
»Súlyos sebezhetőség minden Apache kiszolgálóban
»Natív 3D-s támogatás a legújabb Android fejlesztőkészletben
» több hír
PC Fórum hírek
»Lopta a Firefox Jetpack terveit a Mozilla ?
»Minden weboldalra beköltözne a Facebook
»Nem boldogul az legújabb merevlemezekkel az XP és a Linux
»Átírják a Firefox licencszerződését
»Több tízezer nebuló a Microsuliban
»Sebezhető az Internet Explorer és az Opera is
»Még márciusban megjelenik az Intel nyolcmagos szerverlapkája
»Hamis Core i7 processzorokat árultak a neten
Tagi blogok
»USB
»PHP, mint sablonmotor egyszerűen
»Én és linux
»Coming out