Как развернуть и devforce entityserver как консольное приложение с верхней полкой

Мы хотим запустить наше клиентское приложение wpf в трехуровневом режиме, используя консоль entitymanager с верхней полкой для тестирования и локального запуска entityserver.

Мы можем найти только документацию, используя предоставленный Tools ServerConsole.exe, но мы хотим собрать консоль самостоятельно.

Можно ли создать сервер сущностей с консольным приложением и запустить его локально?

Документация http://drc.ideablade.com/devforce-2012/bin/view/Documentation/deploy-console не объясняет, как собрать консоль самостоятельно без предоставленного ServerConsole.exe.


person Pascalsz    schedule 21.03.2017    source источник


Ответы (2)


DevForce будет размещать EntityServer тремя способами (точнее, четырьмя):

  • через ServerConsole.exe как консольное приложение
  • через ServerService.exe как службу Windows
  • через IIS/ASP.NET
  • Четвертый вариант на самом деле не является размещенной службой, но всякий раз, когда вы работаете в двухуровневом режиме, используется локальный внутрипроцессный EntityServer.

Все размещенные параметры запускают как минимум две службы WCF: EntityServiceHost и EntityServerHost. Это общедоступные подтипы System.ServiceModel.ServiceHost, которые можно найти в сборке IdeaBlade.EntityModel.Server. Мы не предоставляем документацию или руководство по их использованию.

Если вы можете рассказать мне больше о ваших требованиях, возможно, я могу предложить другие альтернативы.

person Kim Johnson    schedule 21.03.2017
comment
Мы продолжаем получать сообщения об ошибках при запуске приложения wpf в многоуровневом режиме. Мы используем шаблон визуальной студии для приложений wpf-ntier, но как только мы хотим подключиться к серверному уровню, мы получаем некоторые изношенные ошибки. Мы настроили виртуальный каталог по адресу localhost:8080/TestEntityService. - person Pascalsz; 23.03.2017

Мы продолжаем получать сообщения об ошибках при запуске приложения wpf в многоуровневом режиме.

Мы настроили виртуальный каталог по адресу http://localhost:8080/TestEntityService.

Мы используем шаблон визуальной студии для приложений wpf-ntier, но как только мы хотим подключиться к серверному уровню, мы получаем некоторые изношенные ошибки.

мы можем перейти к сервису с помощью Internet Explorer: http://localhost:8080/TestEntityService/EntityServer.svc< /а>

но наш клиент wpf всегда выдает очень изношенное исключение:

Sunrise.Shells.Lisp.vshost.exe Error: 0 : 2017-03-23 

10:29:12.6148|ERROR||Sunrise.Modules.Instruments.ViewModels.HostViewModel+<LoadInstruments>d__112 | MoveNext ==> Exception has been thrown by the target of an invocation.
InnerException:
Communications with the service 'EntityServer' using Uri of 'http://localhost:8080/TestEntityService/EntityServer.svc cannot be started.  See the internal exception for more information.
InnerException:
Type 'MongoDB.Driver.Core.WireProtocol.Messages.Encoders.BinaryEncoders.InsertMessageBinaryEncoder`1+InsertFlags[TDocument]' cannot be exported as a schema type because it is an open generic type. You can only export a generic type if all its generic parameter types are actual types.
StackTrace:
   at System.Runtime.Serialization.DataContractSet.EnsureTypeNotGeneric(Type type)
   at System.Runtime.Serialization.XsdDataContractExporter.GetSchemaTypeName(Type type)
   at System.ServiceModel.Dispatcher.DataContractSerializerOperationFormatter.ValidateDataContractType(Type type)
   at System.ServiceModel.Dispatcher.DataContractSerializerOperationFormatter..ctor(OperationDescription description, DataContractFormatAttribute dataContractFormatAttribute, DataContractSerializerOperationBehavior serializerFactory)
   at System.ServiceModel.Description.DataContractSerializerOperationBehavior.GetFormatter(OperationDescription operation, Boolean& formatRequest, Boolean& formatReply, Boolean isProxy)
   at System.ServiceModel.Description.DataContractSerializerOperationBehavior.System.ServiceModel.Description.IOperationBehavior.ApplyClientBehavior(OperationDescription description, ClientOperation proxy)
   at System.ServiceModel.Description.DispatcherBuilder.BindOperations(ContractDescription contract, ClientRuntime proxy, DispatchRuntime dispatch)
   at System.ServiceModel.Description.DispatcherBuilder.ApplyClientBehavior(ServiceEndpoint serviceEndpoint, ClientRuntime clientRuntime)
   at System.ServiceModel.Description.DispatcherBuilder.BuildProxyBehavior(ServiceEndpoint serviceEndpoint, BindingParameterCollection& parameters)
   at System.ServiceModel.Channels.ServiceChannelFactory.BuildChannelFactory(ServiceEndpoint serviceEndpoint, Boolean useActiveAutoClose)
   at System.ServiceModel.ChannelFactory.CreateFactory()
   at System.ServiceModel.ChannelFactory.OnOpening()
   at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
   at System.ServiceModel.Channels.CommunicationObject.Open()
   at System.ServiceModel.ChannelFactory.EnsureOpened()
   at System.ServiceModel.ChannelFactory`1.CreateChannel(EndpointAddress address, Uri via)
   at System.ServiceModel.ChannelFactory`1.CreateChannel(EndpointAddress address)
   at IdeaBlade.EntityModel.WcfProxy`1.CreateProxyCore()

У сервера нет ссылки на dll mongodb, но клиент не может подключиться.

Type 'MongoDB.Driver.Core.WireProtocol.Messages.Encoders.BinaryEncoders.InsertMessageBinaryEncoder`1+InsertFlags[TDocument]'
person Pascalsz    schedule 23.03.2017