Ошибки WCF в VS 2010 / .NET 4, используя пример приложения Pramue Publish / Подписаться с веб-сайта Idesign

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

Вопрос

Я пытаюсь компилировать / запустить образец WCF приложение от Ювалый Лоу Веб-сайт (Автор программирования WCF Услуги и основателя Idesign). Приложение является примером приложения «Опубликовать / подписаться», которое требует использования VS 2010 / .NET 4. Отказ Это моя первая попытка использования чего-либо, кроме VS 2008 / NET 3.5.

Первоначально я получил следующую ошибку связывания:

«Система расширения связывания конфигурации». System.Servicemodel / Привязки / NetOnewayreLayBinding 'не могут быть найдены ».

Эта ошибка, по-видимому, была решена путем изменений в соответствии с файлом .NET 4 Machine.config, чтобы включить следующие ссылки на файл .NET 2 Machine.config.

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

К сожалению, выполнение приложений приводит к следующей ошибке безопасности:

Произошла ошибка создания обработчика секции конфигурации для System.ServiceModel / Client: что сборка не позволяет частично доверенным абонентам.
( Frachlights TradingController Bin Debug TransfortController.vshost.exe.config 4)

Исходный код образца доступен для загрузки по следующей ссылке: http://www.idesign.net/ideign/desktopdefault.aspx?tabindex=-1&tabid=19&download=226.

Я знаю, что код Juval здесь не виноват здесь, и что это должно быть что-то, что я делаю не так с помощью моей конфигурации VS 2010. Я не смог найти решение в Интернете. Может ли кто-нибудь, пожалуйста, утешите меня в правильном направлении, как лучше иметь дело с этим вопросом?

Это было полезно?

Решение

Вы знаете, что netOnewayRelayBinding Является ли связывание Windows Azure, верно? Чтобы использовать его, вам необходимо использовать инфраструктуру Azure ServiceBus, и вам нужна учетная запись в Windows Azure для этого. Просто проверка....

Для одной вещи, вам скорее всего, понадобится обновлен Инструменты Windows Azure для Visual Studio 1.2 Для того, чтобы сделать эту работу с VS 2010.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top