Я использую приложение Windows и службу WCF в своем приложении.Я опубликовал свой сервис на веб-сервере, а также упомянул этот endPointAddress в настройках конфигурации.Приложение работает нормально в моей системе и некоторых системах, но оно не может быть зарегистрировано в другой системе.И это вызывает исключение при входе в систему ...
Здесь я упомянул мое исключение, может кто-нибудь сказать мне решение этой проблемы?Заранее спасибо.
Исключение:
Не удалось согласование безопасности SOAP с 'http://example.com/DashBoardPointsService/Service.svc' для цели' http://example.com/DashBoardPointsService/Service.svc'.Дополнительные подробности см. Во внутреннем исключении.
Внутреннее исключение:
System.ComponentModel.Win32Exception: сбой согласования интерфейса поставщика поддержки безопасности (SSPI).в System.ServiceModel.Security.WindowsSspiNegotiation.GetOutgoingBlob (Byte [] incomingBlob, IExtendedProtectionSupport extendedProtectionSupport) в System.ServiceModel.Security.SspiNegotiationTokenProvider.GetOutgoingBlobProxy.GetOutgoingBlob (ChannelBinding channelBinding) в System.ServiceModel.Security.RequestSecurityToken.GetBinaryNegotiation () в системе.ServiceModel.Security.WSTrust.Driver.WriteRequestSecurityToken (RequestSecurityToken rst, XmlWriter xmlWriter) в System.ServiceModel.Security.RequestSecurityToken.WriteTo (писатель XmlWriter)«ize, BufferManager bufferManager, Int32 messageOffset) в System.ServiceModel.Channels.HttpOutput.SerializeBufferedMessage (сообщение-сообщение) в System.ServiceModel.Channels.HttpOutput.Send (TimeSpan timeout )estestHhannelHhanRehan.DhanChanRehan.DhanChanRehan.DhanChanRehan.exe(Сообщение, время ожидания TimeSpan) в System.ServiceModel.Channels.RequestChannel.Request (сообщение, время ожидания TimeSpan) в System.ServiceModel.Security.IssuanceTokenProviderBase`1.DoNegotiation (время ожидания TimeSpan)
* 1018Трассировка:
at System.ServiceModel.Security.IssuanceTokenProviderBase`1.DoNegotiation(TimeSpan timeout)
at System.ServiceModel.Security.SspiNegotiationTokenProvider.OnOpen(TimeSpan timeout)
at System.ServiceModel.Security.WrapperSecurityCommunicationObject.OnOpen(TimeSpan timeout)
at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
at System.ServiceModel.Security.SecurityUtils.OpenCommunicationObject(ICommunicationObject obj, TimeSpan timeout)
at System.ServiceModel.Security.SymmetricSecurityProtocol.OnOpen(TimeSpan timeout)
at System.ServiceModel.Security.WrapperSecurityCommunicationObject.OnOpen(TimeSpan timeout)
at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
at System.ServiceModel.Channels.SecurityChannelFactory`1.ClientSecurityChannel`1.OnOpen(TimeSpan timeout)
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`1.ClientSecuritySessionChannel.OnOpen(TimeSpan timeout)
at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
at System.ServiceModel.Channels.ServiceChannel.OnOpen(TimeSpan timeout)
at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
at System.ServiceModel.Channels.ServiceChannel.CallOnceManager.CallOnce(TimeSpan timeout, CallOnceManager cascade)
at System.ServiceModel.Channels.ServiceChannel.EnsureOpened(TimeSpan timeout)
at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)
Exception rethrown at [0]:
at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
at IService.GetLoginDetails(String strUserName, String strPassword)
at ExportReportsandPointsDetails.frmLogin.btnSubmit_Click(Object sender, EventArgs e)
Источник:
Это мои настройки конфигурации службы WCF:
public void CreateConnection()
{
try
{
string strNewURL = "http://example.com/DashBoardPointsService/Service.svc";
EndpointAddress ep = new EndpointAddress(strNewURL);
WSHttpBinding binding = new WSHttpBinding();
binding.Security.Mode = SecurityMode.Message;
binding.MaxBufferPoolSize = 819222;
binding.MaxReceivedMessageSize = 819222;
binding.ReceiveTimeout = TimeSpan.MaxValue;
binding.SendTimeout = TimeSpan.MaxValue;
binding.OpenTimeout = TimeSpan.MaxValue;
binding.CloseTimeout = TimeSpan.MaxValue;
binding.MaxReceivedMessageSize = 99999999;
binding.MaxBufferPoolSize = 99999999;
binding.ReaderQuotas.MaxArrayLength = 714748;
binding.ReaderQuotas.MaxBytesPerRead = 214748;
binding.ReaderQuotas.MaxDepth = 2147483647;
binding.ReaderQuotas.MaxNameTableCharCount = 214749;
binding.ReaderQuotas.MaxStringContentLength = 214749;
objConnectionManager = new ChannelFactory<IService>(binding, ep);
objActivatedConnectionManager = objConnectionManager.CreateChannel();
}
catch (Exception ex)
{
objlog.Write(ex);
}
}