Ho letto molti articoli. Ma per quanto ne so ho fatto tutto. Sul computer locale VS2010 funziona tutto bene. Il problema si verifica solo quando si lavora su IIS7 Server.IIS7 non avvia il file Exe all'avvio del processo
Voglio iniziare un file exe che funziona perfettamente sul server se lo avvio manualmente da Windows Explorer.
Dim fiExe As New IO.FileInfo(IO.Path.Combine(diBase.FullName, "ClientBin\ConvertAudio.exe"))
Dim SI As New ProcessStartInfo(fiExe.FullName, args)
SI.Verb = "runas"
SI.UseShellExecute = True
SI.WorkingDirectory = fiExe.Directory.FullName
Dim P As Process = Process.Start(SI)
P.PriorityClass = ProcessPriorityClass.Idle
ho convertito la directory ClientBin
in un'applicazione in IIS.
Ma quando si utilizza il servizio che ricevo questo errore (richiamata in un'applicazione Silverlight):
{System.Security.SecurityException ---> System.Security.SecurityException: Sicherheitsfehler
bei System.Net.Browser.BrowserHttpWebRequest.InternalEndGetResponse(IAsyncResult asyncResult)
bei System.Net.Browser.BrowserHttpWebRequest.<>c__DisplayClass5.<EndGetResponse>b__4(Object sendState)
bei System.Net.Browser.AsyncHelper.<>c__DisplayClass4.<BeginOnUI>b__0(Object sendState)
--- Ende der internen Ausnahmestapelüberwachung ---
bei System.Net.Browser.AsyncHelper.BeginOnUI(SendOrPostCallback beginMethod, Object state)
bei System.Net.Browser.BrowserHttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
bei System.Net.WebClient.WebClientWriteStream.<Dispose>b__3(IAsyncResult ar)}
Ho cercato di memorizzare il file "clientaccesspolicy.xml" nella stessa directory come ClientBin
<?xml version="1.0" encoding="utf-8"?>
<access-policy>
<cross-domain-access>
<policy>
<allow-from http-request-headers="*">
<domain uri="*"/>
</allow-from>
<grant-to>
<resource path="/" include-subpaths="true"/>
</grant-to>
</policy>
</cross-domain-access>
</access-policy>
Ancora lo stesso messaggio. Qualche idea?
* nuove info - verbo * Quando si utilizza questa funzione
Dim startInfo As New ProcessStartInfo(fiExe.FullName)
Dim V As String = ""
For Each verb As String In startInfo.Verbs
V &= V & ", "
Next
Throw New Exception("Verbs=" & V)
ricevo questo risultato:
Verbi =,,, ,,,,
* soluzione trovata * ho trovato la soluzione, mentre usando http://www.fiddler2.com e http://technet.microsoft.com/en-us/sysinternals/bb896653 Il problema era che durante l'utilizzo di applicazioni x86 su un x64 IIS in combinazione con verb=runas
bandiera. Ora l'applicazione è impostata su anycpu (Forse non importa) e verb
su ProcessStartInfo non è impostata su nulla.
Grazie un sacco di Michaels. Sembra che dovrebbe funzionare. Mi sento stupido ma non so dove trovare la bandiera 'FullControl' di cui stai parlando. Ho aggiunto un'immagine. Per favore, puoi provare a fornirmi alcuni dettagli dei menu per trovare il 'FullControl'? – Nasenbaer
@Nasenbaer: passare alla cartella corrente in Esplora risorse, non in Gestione IIS. Fammi sapere se hai bisogno di uno screenshot. – MichaelS
Ciao Michael. Grazie ancora. Prima di postare qui in StackOverflow ho già controllato questo problema. Ma poiché ho visto tutto per "Accesso completo" su IIS User, non ho potuto rilevare il problema. Per favore, sì, puoi fornirmi il menu in Windows Explorer (l'inglese dovrebbe andare bene) per lavorare? Ho aggiunto una nuova foto per mostrare dove ho guardato. – Nasenbaer