Недавно мы перешли с VS 2008 на VS 2010. Благодаря этому мои приложения теперь работают на платформе .net 4.0 и MVC 2.0. После небольшого преобразования на моей локальной машине как в проект MVC, так и в проект служб, на который ссылаются, все работает без проблем на моей локальной машине.
Затем я скопировал новое приложение MVC в его виртуальный каталог на моем компьютере для разработки и переназначил его на .net 4.0.
После этого я скопировал приложение новых служб на его виртуальную машину, а также переназначил его на .net 4.0.
Моя проблема возникает всякий раз, когда я вызываю свою службу из нового приложения MVC на сервере разработки. Я получаю следующую ошибку/трассировку стека:
System.ServiceModel.ServiceActivationException, System.ServiceModel, версия = 4.0.0.0, культура = нейтральная, PublicKeyToken = b77a5c561934e089
Сообщение: запрошенная служба, 'http://localhost:9090/myservice.svc' не удалось активировать.
Дополнительную информацию см. в журналах диагностической трассировки сервера.
Источник: mscorlib
Данные : System.Collections.ListDictionaryInternal
TargetSite : Void HandleReturnMessage(System.Runtime.Remoting.Messaging.IMessage, System.Runtime.Remoting.Messaging.IMessage)
Трассировка стека сервера:
в System.ServiceModel. Security.IssuanceTokenProviderBase1.DoNegotiation(TimeSpan timeout)1.ClientSecurityChannel
at System.ServiceModel.Security.SspiNegotiationTokenProvider.OnOpen(TimeSpan timeout)
at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
at System.ServiceModel.Security.SymmetricSecurityProtocol.OnOpen(TimeSpan timeout)
at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
at System.ServiceModel.Channels.SecurityChannelFactory1.OnOpen(TimeSpan timeout)1.ClientSecuritySessionChannel.OnOpen(время ожидания TimeSpan)
at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
at System.ServiceModel.Security.SecuritySessionSecurityTokenProvider.DoOperation(SecuritySessionOperation operation, EndpointAddress target, Uri via, SecurityToken currentToken, TimeSpan timeout)
at System.ServiceModel.Security.SecuritySessionSecurityTokenProvider.GetTokenCore(TimeSpan timeout)
at System.IdentityModel.Selectors.SecurityTokenProvider.GetToken(TimeSpan timeout)
at System.ServiceModel.Security.SecuritySessionClientSettings
в System.ServiceModel.Channels.CommunicationObject.Open(время ожидания TimeSpan)
в System.ServiceModel.Channels.ServiceChannel.OnOpen(время ожидания TimeSpan)
в Сист em.ServiceModel.Channels.CommunicationObject.Open(время ожидания TimeSpan)
в System.ServiceModel.Channels.ServiceChannel.CallOnceManager.CallOnce(время ожидания TimeSpan, каскад CallOnceManager)
в System.ServiceModel.Channels.ServiceChannel.EnsureOpened(TimeSpan тайм-аут)
в System.ServiceModel.Channels.ServiceChannel.Call(строковое действие, логическое значение в одну сторону, операция ProxyOperationRuntime, Object[] ins, Object[] outs, TimeSpan timeout)
в System.ServiceModel.Channels.ServiceChannelProxy. InvokeService(методCall IMethodCallMessage, операция ProxyOperationRuntime)
в System.ServiceModel.Channels.ServiceChannelProxy.Invoke(сообщение IMessage)Exception rethrown at [0]: at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessagereqMsg, IMessage retMsg)
в System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, тип Int32)
в RugsDirect.Mvc.CreditCardAuthorization.ICreditCardAuthorization.AuthorizeCreditCard(запрос CreditCardAuthRequest)
в RugsDirect. Mvc.CreditCardAuthorization.CreditCardAuthorizationClient.AuthorizeCreditCard(запрос CreditCardAuthRequest)
в RugsDirect.Mvc.Controllers.CartController.SendAuthorizationRequest(модель PurchaseInformationModel)
Я могу зайти в IIS и просмотреть эту службу без проблем, и все в моих файлах конфигурации и конечных точках сопоставления друг с другом, кажется, в порядке.
Если кто-нибудь может указать мне в правильном направлении, чтобы решить эту проблему, это было бы очень признательно.
Заранее спасибо, Билли