У меня есть проект WCF с CSLA, и я опубликовал эту службу и приложение MVC на своем сервере IIS, но он выдает одну ошибку при вызове службы из веб-приложения.
System.ServiceModel.Security.SecurityNegotiationException: вызывающий объект не прошел проверку подлинности службы. ---> System.ServiceModel.FaultException: запрос токена безопасности не может быть удовлетворен из-за сбоя проверки подлинности.
Это мой сервис web.config
<system.serviceModel>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
<services>
<service name="Csla.Server.Hosts.WcfPortal" behaviorConfiguration="returnFaults">
<endpoint binding="wsHttpBinding" bindingConfiguration="wsHttpBinding_IWcfPortal" contract="Csla.Server.Hosts.IWcfPortal" />
</service>
<service name="Csla.Server.Hosts.Mobile.WcfPortal" behaviorConfiguration="returnFaults">
<endpoint binding="basicHttpBinding" bindingConfiguration="basicHttpBinding_IWcfPortal" contract="Csla.Server.Hosts.Mobile.IWcfPortal" />
</service>
</services>
<bindings>
<basicHttpBinding>
<binding name="basicHttpBinding_IWcfPortal" maxReceivedMessageSize="2147483647" maxBufferPoolSize="2147483647" maxBufferSize="2147483647">
<readerQuotas maxBytesPerRead="2147483647" maxArrayLength="2147483647" maxStringContentLength="2147483647" maxNameTableCharCount="2147483647" maxDepth="2147483647" />
</binding>
</basicHttpBinding>
<wsHttpBinding>
<binding name="wsHttpBinding_IWcfPortal" maxReceivedMessageSize="2147483647">
<readerQuotas maxBytesPerRead="2147483647" maxArrayLength="2147483647" maxStringContentLength="2147483647" maxNameTableCharCount="2147483647" maxDepth="2147483647" />
</binding>
</wsHttpBinding>
</bindings>
<behaviors>
<serviceBehaviors>
<behavior name="returnFaults">
<serviceDebug includeExceptionDetailInFaults="true" />
<serviceMetadata httpGetEnabled="true" />
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
Я использовал эту услугу в моем MVC web.config, как это.
<add key="CslaAuthentication" value="Csla" />
<add key="CslaDataPortalProxy" value="Csla.DataPortalClient.WcfProxy, Csla" />
<add key="CslaDataPortalUrl" value="http://www.someurl.net/WcfFullPortal.svc" />
Затем, после того как я вызвал службу непосредственно из своего проекта службы, все заработало нормально.
<add key="CslaDataPortalUrl" value="http://localhost:11170/WcfFullPortal.svc" />
А также попробовал с опубликованным IP-адресом, который также работает нормально
<add key="CslaDataPortalUrl" value="http://10.4.56.75/WcfFullPortal.svc" />
Единственная проблема, когда я использую опубликованное имя хоста (http://www.someurl.net/WcfFullPortal.svc). И я открыл этот URL в браузере, который работал.