WCF errori in VS 2010 / .Net 4 utilizzando campione publish / subscribe app dal sito web iDesign

StackOverflow https://stackoverflow.com/questions/3033766

Domanda

Sto tentando di compilare / eseguire un campione applicazione WCF da di Juval Lowy sito web ( autore di programmazione WCF Servizi e fondatore di iDesign ). L'applicazione è un esempio di un'applicazione di pubblicazione / sottoscrizione 'semaforo' che richiede l'utilizzo di VS 2010 / .Net 4 . Questo è il mio primo tentativo di utilizzare qualcosa di diverso da VS 2008 / Net 3.5.

Inizialmente ho ricevuto il seguente errore binding:

  

"estensione vincolante Configurazione   'System.serviceModel / binding /   netOnewayRelayBinding' non poteva essere   trovato ".

Questo errore è apparso essere risolto modificando il file machine.config .Net 4, a includere i seguenti riferimenti dal file machine.config Net 2.

<xml>
<bindingElementExtensions>
 <add name="tcpRelayTransport" type="Microsoft.ServiceBus.Configuration.TcpRelayTransportElement, Microsoft.ServiceBus, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
 <add name="httpRelayTransport" type="Microsoft.ServiceBus.Configuration.HttpRelayTransportElement, Microsoft.ServiceBus, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
 <add name="httpsRelayTransport" type="Microsoft.ServiceBus.Configuration.HttpsRelayTransportElement, Microsoft.ServiceBus, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
 <add name="onewayRelayTransport" type="Microsoft.ServiceBus.Configuration.RelayedOnewayTransportElement, Microsoft.ServiceBus, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
 <add name="webMessageEncoding" type="System.ServiceModel.Configuration.WebMessageEncodingElement, System.ServiceModel.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
 <add name="context" type="System.ServiceModel.Configuration.ContextBindingElementExtensionElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
 <add name="byteStreamMessageEncoding" type="System.ServiceModel.Configuration.ByteStreamMessageEncodingElement, System.ServiceModel.Channels, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
 <add name="discoveryClient" type="System.ServiceModel.Discovery.Configuration.DiscoveryClientElement, System.ServiceModel.Discovery, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
</bindingElementExtensions>
<bindingExtensions>
 <add name="webHttpBinding" type="System.ServiceModel.Configuration.WebHttpBindingCollectionElement, System.ServiceModel.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
 <add name="basicHttpContextBinding" type="System.ServiceModel.Configuration.BasicHttpContextBindingCollectionElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
 <add name="basicHttpRelayBinding" type="Microsoft.ServiceBus.Configuration.BasicHttpRelayBindingCollectionElement, Microsoft.ServiceBus, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
 <add name="webHttpRelayBinding" type="Microsoft.ServiceBus.Configuration.WebHttpRelayBindingCollectionElement, Microsoft.ServiceBus, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
 <add name="ws2007HttpRelayBinding" type="Microsoft.ServiceBus.Configuration.WS2007HttpRelayBindingCollectionElement, Microsoft.ServiceBus, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
 <add name="netTcpRelayBinding" type="Microsoft.ServiceBus.Configuration.NetTcpRelayBindingCollectionElement, Microsoft.ServiceBus, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
 <add name="netOnewayRelayBinding" type="Microsoft.ServiceBus.Configuration.NetOnewayRelayBindingCollectionElement, Microsoft.ServiceBus, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
 <add name="netEventRelayBinding" type="Microsoft.ServiceBus.Configuration.NetEventRelayBindingCollectionElement, Microsoft.ServiceBus, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
 <add name="wsHttpContextBinding" type="System.ServiceModel.Configuration.WSHttpContextBindingCollectionElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
 <add name="netTcpContextBinding" type="System.ServiceModel.Configuration.NetTcpContextBindingCollectionElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
</bindingExtensions>

Purtroppo in esecuzione i risultati dell'applicazione nel seguente errore di sicurezza:

  

Si è verificato un errore durante la creazione del   gestore della sezione di configurazione per   system.serviceModel / cliente: Che   montaggio non consente parzialmente   fiducia chiamanti.
  (\ Semaforo \ TrafficController \ bin \ Debug \ TrafficController.vshost.exe.Config   linea 4)

Il codice sorgente di esempio è disponibile per il download al seguente link: http://www.idesign.net/idesign/DesktopDefault.aspx?tabindex=-1&tabid=19&download=226

So che il codice di Juval non è colpa qui e che deve essere qualcosa che sto facendo di sbagliato con la mia configurazione VS 2010. Non sono stato in grado di trovare una soluzione online. Qualcuno potrebbe me guidare nella giusta direzione sul modo migliore per affrontare questo problema?

È stato utile?

Soluzione

Sei consapevole del fatto che la netOnewayRelayBinding è un Windows Azure legato vincolante, giusto? Per utilizzarlo, è necessario utilizzare un'infrastruttura Azure ServiceBus, ed hai bisogno di un account su Windows Azure per questo. Basta controllare ....

Per prima cosa, molto probabilmente necessario l'aggiornamento noreferrer Windows Azure Tools per Visual Studio 1.2 al fine di rendere questo lavoro con VS 2010.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top