拒绝访问WCF Windows服务

拒绝访问WCF Windows服务,wcf,configuration,windows-services,access-denied,Wcf,Configuration,Windows Services,Access Denied,我不明白。。。我有一个WCF Windows服务,我无法再呼叫。。。我总是会遇到这样的错误: 无法加载文件或程序集“Microsoft.VisualBasic”, 版本=8.0.0.0,区域性=中性,PublicKeyToken=b03f5f7f11d50a3a'或 它的一个依赖性。访问被拒绝 直到几天前我做了一些调整,这个东西一直工作得很好。现在不管我做什么,我都摆脱不了它 服务配置文件为: <system.serviceModel> <services>

我不明白。。。我有一个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>

你知道是什么导致了这个“拒绝访问”异常吗?

加载一个.net framework dll时,错误是“拒绝访问”

可能有几件事:

  • 该版本的.net framework已从服务器上删除
  • 作为服务器标识的用户没有访问框架dll的权限
  • 作为服务器标识的用户密码已过期
  • 作为服务器标识的用户密码已更改
尝试停止并启动服务以检查密码


尝试重新安装该服务以检查.net framework版本。

您到底做了哪些调整?您使用的是哪个.net版本?您是否更改了服务运行的身份?如何运行服务?您是否通过网络驱动程序访问应用程序?