Chiama il metodo Web dell'interfaccia Project Server da un programma di installazione MSI

StackOverflow https://stackoverflow.com/questions/20782

Domanda

Sto utilizzando un progetto di installazione Web di Visual Studio per installare un'applicazione che estende le funzionalità di Project Server.Voglio chiamare un metodo dalla PSI (Project Server Interface) da una delle azioni personalizzate del mio progetto di installazione, ma ogni volta ricevo un errore "401 Accesso non autorizzato".Cosa devo fare per poter accedere al PSI?Lo stesso codice, se utilizzato da un'applicazione console, funziona senza problemi.

È stato utile?

Soluzione

Sembra che nella situazione della console stai utilizzando le credenziali dell'utente corrente, che hanno accesso al PSI.Quando viene eseguito dal Web, viene eseguito con i crediti dell'istanza dell'applicazione IIS.Penso che dovresti impostare la delega per passare i crediti di sessione all'applicazione IIS o utilizzare alcuni crediti statici per la tua app IIS che hanno accesso al PSI.

Altri suggerimenti

Finalmente ho trovato la risposta.È possibile chiamare il servizio LoginWindows PSI e impostare le credenziali su NetworkCredentials utilizzando l'utente, la password e i token di dominio appropriati.Quindi puoi chiamare qualsiasi metodo PSI, purché le credenziali siano esplicite.In caso contrario, utilizzando DefaultCredentials riceverai un errore di accesso non autorizzato, perché un messaggio MSI viene eseguito con l'account di sistema locale.

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