WCF Windows Сервис Доступ запрещен - PullRequest
0 голосов
/ 16 августа 2011

Я не понимаю ... У меня есть служба WCF Windows, которую я больше не могу вызвать ... Я всегда получаю эту ошибку:

Не удалось загрузить файл или сборку 'Microsoft.VisualBasic, Версия = 8.0.0.0, Культура = нейтральная, PublicKeyToken = b03f5f7f11d50a3a 'или одна из его зависимостей. Доступ запрещен

Этот материал работал отлично до тех пор, пока несколько дней назад я не немного поработал. Теперь я не могу от этого избавиться, что бы я ни делал.

Файл конфигурации службы:

<system.serviceModel>
  <services>
    <service name="myService"
             behaviorConfiguration="TransfertServiceBehavior">
      <host>
        <baseAddresses>
          <add baseAddress="net.tcp://localhost:8097/MyService"/>
        </baseAddresses>
      </host>
      <endpoint address=""
                binding="netTcpBinding"
                bindingConfiguration="TransactionalBinding"
                contract="myContract" />
      <endpoint address="mex"
                binding="mexTcpBinding"
                contract="IMetadataExchange" />
    </service>
  </services>
  <bindings>
    <netTcpBinding>
      <binding name="TransactionalBinding" transactionFlow="true" transferMode="Streamed"
               maxReceivedMessageSize="1000000000">
         <readerQuotas maxDepth="10000" maxStringContentLength="1000000000"
                       maxArrayLength="1000000000" maxBytesPerRead="10000" 
                       maxNameTableCharCount="10000" />
         <security mode="Transport" />
      </binding>
    </netTcpBinding>
  </bindings>
  <behaviors>
    <serviceBehaviors>
      <behavior name="TransfertServiceBehavior">
        <serviceMetadata httpGetEnabled="False"/>
        <serviceDebug includeExceptionDetailInFaults="False"/>
      </behavior>
    </serviceBehaviors>
  </behaviors>
</system.serviceModel>

Пока конфигурация клиента здесь:

<system.serviceModel>
  <bindings>
    <netTcpBinding>
      <binding name="NetTcpBinding_SI6ISupportTransfert" closeTimeout="00:01:00"
               openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
               transactionFlow="true" transferMode="Streamed" 
               transactionProtocol="OleTransactions"
               hostNameComparisonMode="StrongWildcard" listenBacklog="10"
               maxBufferPoolSize="524288" maxBufferSize="65536" maxConnections="10"
               maxReceivedMessageSize="65536">
         <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
                       maxBytesPerRead="4096" maxNameTableCharCount="16384" />
         <reliableSession ordered="true" inactivityTimeout="00:10:00"
                          enabled="false" />
         <security mode="Transport">
            <transport clientCredentialType="Windows" protectionLevel="EncryptAndSign" />
            <message clientCredentialType="Windows" />
         </security>
      </binding>
    </netTcpBinding>
  </bindings>
  <client>
     <endpoint address="net.tcp://localhost:8095/myService"
               binding="netTcpBinding" 
               bindingConfiguration="NetTcpBinding_SI6ISupportTransfert"
               contract="myContract" name="mySevice">
         <identity>
            <userPrincipalName value="user@myDomain" />
         </identity>
     </endpoint>
  </client>
</system.serviceModel>

Любая идея о том, что может вызвать это исключение "Отказано в доступе" ???

1 Ответ

1 голос
/ 16 августа 2011

Ошибка «Отказано в доступе» при загрузке одной из библиотек .net framework.

Это может быть несколько вещей:

  • Эта версия .net Framework была удалена с сервера.
  • Пользователь, который является идентификатором сервера, не имеет доступа к фреймворку dll's
  • Срок действия пароля пользователя, являющегося удостоверением сервера, истек.
  • Пароль пользователя, который является идентификатором сервера, изменился.

Попробуйте остановить и запустить службу, чтобы проверить пароль.

Попробуйте переустановить службу, чтобы проверить версию .net framework.

...