2013-03-07 13 views
9

Ho un'applicazione Windows Form con controlli ocx di terze parti. Il seguente comando viene utilizzato per creare un oggetto in fase di runtime.ASP Nessun errore di interfaccia supportata durante la creazione dell'oggetto

myObject = myApplication.CreateObject("ML.MFinder", True) 

funziona correttamente e anche il progID è corretto. Il problema è che quando si fa lo stesso in progetto di asp dove ottengo l'errore seguente:

System.Runtime.InteropServices.COMException: No such interface supported 

at ML.MApplicationClass.CreateObject(String ProgID, Boolean Allocate)

Strano perché gli altri oggetti OCX funziona correttamente anche su ASP progetto. Sto usando IIS 5.1, Windows XP Pro SP3 e framework 3.5. Inoltre ho registrato ocx manualmente.

+0

hai aggiunto il riferimento? –

+0

si certo. Già aggiunto. – Jaume

+0

Quali modelli di threading sono supportati da ocx? – tcarvin

risposta

2

Questo controllo ocx richiede uno specifico accesso in scrittura in lettura sul file system? In tal caso, è necessario fornire i diritti a livello di file system: IUSR_XXXXX = READ + EXECUTE.

È inoltre necessario controllare se manca una dipendenza utilizzando lo strumento Dependency Walker.

Stai ottenendo id di classe nell'eccezione? In tal caso, controllare se quel classid è presente nel registro.

+0

no id di classe nell'eccezione. Ho già impostato le autorizzazioni per l'account IUSR_ ma non ci sono riuscito. Tuttavia, grazie per i suggerimenti, non sapevo questo punto. Se le autorizzazioni sono ok, come procedere? "nessun errore di interfaccia di questo tipo" è ancora mostrato. – Jaume

+0

@Jaume: puoi condividere qualche altro codice come la procedura in cui stai creando questo oggetto? Inoltre stai usando asp o asp.net? –

+0

grazie per i suggerimenti, ho creato un nuovo thread una volta chiamato il metodo webservice. Quindi, all'interno di quel thread, non sono stati segnalati errori. Grazie. – Jaume

2

In IIS non si hanno le stesse regole per accedere a file o dll esterni. Penso che con i file OCX l'IIS possa essere ancora più restrittivo.

Non penso che il problema sia il riferimento o qualcosa del genere. Come hai detto, hai già registrato l'OCX, ma questo OCX ha anche alcune dipendenze? Devono essere correttamente registrati pure.