Я пытаюсь использовать олицетворение с моей службой WCF (с помощью привязки net.tcp), размещенной в IIS 7. Я дошел до того, что это олицетворение клиента, но всякий раз, когда я пытаюсь получить доступ к любым параметрам конфигурации в Интернете .config с использованием Settings.Default.SomeSetting, он генерирует исключение SettingsPropertyNotFoundException.
Это потому, что IIS работает под другим именем, чем олицетворенный? Если да, какие настройки я должен изменить, чтобы они могли работать под одним и тем же именем?
Я попытался установить свойство "servicePrincipalName" без какого-либо успеха.
Я включил свои настройки web.config ниже:
<system.serviceModel>
<services>
<service name="TestServices">
<endpoint address="" binding="netTcpBinding" bindingConfiguration="tcpbinding"
contract="Test.ITestService">
<identity>
<servicePrincipalName value="NT AUTHORITY\NETWORK SERVICE" />
</identity>
</endpoint>
<endpoint address="mextcp" binding="mexTcpBinding" contract="IMetadataExchange" />
</service>
</services>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true"/>
<bindings>
<netTcpBinding>
<binding name="tcpbinding" maxBufferSize="2147483647" maxReceivedMessageSize="2147483647" maxBufferPoolSize="2147483647" portSharingEnabled="true">
<security mode="Transport">
<transport clientCredentialType="Windows" protectionLevel="None"/>
<message clientCredentialType="Windows"/>
</security>
</binding>
</netTcpBinding>
</bindings>
<behaviors>
<serviceBehaviors>
<behavior>
<!-- To avoid disclosing metadata information, set the value below to false and remove the metadata endpoint above before deployment -->
<serviceMetadata httpGetEnabled="true" />
<!-- To receive exception details in faults for debugging purposes, set the value below to true. Set to false before deployment to avoid disclosing exception information -->
<serviceDebug includeExceptionDetailInFaults="true" />
<serviceAuthorization impersonateCallerForAllOperations="true" />
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>