Domanda

Ho sviluppato un piccolo strumento per caricare le informazioni di stipendio per l'amministrazione svizzera e ho usato WSE 3.0 con successo. Ma ora, uno dei miei clienti ha riferito che sulla sua macchina, il mio programma si blocca con il seguente analisi dello stack:

WSE032: There was an error loading the microsoft.web.services3 configuration section.
  at Microsoft.Web.Services3.Configuration.WebServicesConfiguration.get_Current()
  at Microsoft.Web.Services3.Configuration.WebServicesConfiguration.get_MessagingConfiguration()
  at Microsoft.Web.Services3.WebServicesClientProtocol..ctor()
  ...

Ho cercato di capire che cosa questo significa, ma devo ammettere che sono un po 'perso qui. Il programma ha un file .exe.config con il seguente contenuto:

<?xml version="1.0"?>
<configuration>
  <configSections>
    <section name="microsoft.web.services3" type="Microsoft.Web.Services3.Configuration.WebServicesConfiguration, Microsoft.Web.Services3, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
    ...
  </configSections>
  <startup>
    <supportedRuntime version="v2.0.50727"/>
  </startup>
  <microsoft.web.services3>
    <security>
      <x509 allowTestRoot="false" storeLocation="CurrentUser" skiMode="RFC3280"/>
    </security>
  </microsoft.web.services3>
...
</configuration>

La rimozione del nodo <security> dal XML sopra sorta di risolve il problema (l'errore WSE032 svanisce), ma questa non è una soluzione nel mio caso, come ho bisogno di configurare la protezione in questo modo, al fine di per essere in grado di firmare i dati che sto trasmettendo in seguito.

Qualche idea di cosa potrebbe essere il problema. Ovviamente, WSE 3.0 è stato installato sulla macchina del cliente, in quanto in caso contrario, l'analisi dello stack, non avrebbe mostrato nelle chiamanti prima dell'errore WSE032 accada.

È stato utile?

Soluzione

Sembra che il cliente stava eseguendo il programma da una lettera di unità montata su una condivisione; anche se ho pensato che .NET 3.5 SP1 permesso privilegio piena fiducia alla EXEs lanciati dal LocalIntranet_Zone, questo sembra essere un problema con il caricamento della sezione di configurazione WSE del file eseguibile.

Per risolvere questo, mi sono imbattuto caspol che può essere trovato qui:

C:\Windows\Microsoft.NET\Framework\v2.0.50727\caspol.exe

La riga di comando è qualcosa sulla falsariga di:

caspol -m -ag LocalIntranet_Zone -url N:\* FullTrust -n "name" -d "description"

per una quota montato sulla lettera di unità N:; notare che name e description sono puramente informativo.

Questo comando dà tutti gli eseguibili presenti sull'unità N: il privilegio FullTrust, proprio come se fossero partiti da una risorsa locale (unità disco rigido, per esempio).

Procedura: concedere le autorizzazioni sulle cartelle e gruppi su MSDN.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top