2013-10-13 5 views
0

У меня есть службы службы WCF, которая работает хорошо, пока размещены в локальной IIS, но дает следующее исключение при размещении в Azure VM IIS:Перемещение WCF сервис Azure VM

DispatchOperation requires Invoker. 
Exception Details: System.InvalidOperationException: DispatchOperation requires Invoker 

StackTrace:

[InvalidOperationException: DispatchOperation requires Invoker.] 
    System.ServiceModel.Dispatcher.DispatchOperationRuntime..ctor(DispatchOperation operation, ImmutableDispatchRuntime parent) +17276262 
    System.ServiceModel.Dispatcher.ImmutableDispatchRuntime..ctor(DispatchRuntime dispatch) +824 
    System.ServiceModel.Dispatcher.DispatchRuntime.GetRuntimeCore() +114 
    System.ServiceModel.Dispatcher.ChannelDispatcher.OnOpened() +520 
    System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout) +766 
    System.ServiceModel.ServiceHostBase.OnOpen(TimeSpan timeout) +260 
    System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout) +742 
    System.ServiceModel.HostingManager.ActivateService(ServiceActivationInfo serviceActivationInfo, EventTraceActivity eventTraceActivity) +126 
    System.ServiceModel.HostingManager.EnsureServiceAvailable(String normalizedVirtualPath, EventTraceActivity eventTraceActivity) +901 

[ServiceActivationException: The service '/PidPlusService.svc' cannot be activated due to an exception during compilation. The exception message is: DispatchOperation requires Invoker..] 
    System.Runtime.AsyncResult.End(IAsyncResult result) +650220 
    System.ServiceModel.Activation.HostedHttpRequestAsyncResult.End(IAsyncResult result) +210733 
    System.Web.CallHandlerExecutionStep.OnAsyncHandlerCompletion(IAsyncResult ar) +282 

У меня есть файл svc, файл web.config и DLL, которые есть в службе. Проект службы представляет собой проект библиотеки классов и является частью решения, которое генерирует DLL. Есть ли что-то, что нужно изменить в коде для хостинга в Azure? Или это проблема конфигурации?

ответ

0

Вам необходимо настроить виртуальную машину для поддержки WCF, так же, как вы сделали локальную локальную локальную машину IIS. Убедитесь, что these settings настроены на вашей виртуальной машине в Azure.

Кроме того, вам может потребоваться включить в Windows WCF Http Activation (.NET Framework 3.5). Если вы настроили таргетинг на .NET Framework 4.5, убедитесь, что включены службы WCF (.NET Framework 4.5 Advanced Services).

+0

Спасибо за ваш ответ и извините за ответ, но я все еще столкнулся с проблемой. Я включил каждую необходимую функцию/роль через диспетчер сервера, так как я использую WS2012. –