2015-06-13 13 views
7

.Net 4.5, MVC 5, IIS 8SdkUtility.LaunchSignInPage non reindirizzamento alla pagina di accesso ebay

SdkUtility.LaunchSignInPage(apiContext, _sessionID); 

Dalla mia domanda (in VS 2013) posso facilmente accedere alla pagina di accesso. Ma il problema si verifica quando l'ho pubblicato su IIS. in primo luogo mostra un errore come l'accesso negato.

ho cercato e in IIS, ApplicationIdentity piscina, ho dato NETWORK_SERVICE e ha fornito un servizio di rete di autenticazione completo per leggere o leggere & eseguire ...

errore non si presenta più. ma la pagina di accesso non appare.

** EDIT 1: **

Utilizzo di ASP .Net MVC 5, IIS 8.0.0.9, eBaySdk

Mentre cerco di ottenere gettone tramite chiamata SDK, si verifica questo errore. Ovviamente dopo l'hosting. ma in Visual Studio funziona perfettamente. Quello che penso è, devo impostare un certo livello di autorizzazione per consentire agli utenti di utilizzare SDK o qualcosa del genere. Ecco la traccia completa dell'errore.

Accesso negato

Descrizione:

An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Dettagli eccezione: Errore

System.ComponentModel.Win32Exception: Access is denied

Fonte:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

dello stack:

[Win32Exception (0x80004005): Access is denied] System.Diagnostics.Process.StartWithShellExecuteEx(ProcessStartInfo startInfo) +773 System.Diagnostics.Process.Start() +123 System.Diagnostics.Process.Start(ProcessStartInfo startInfo) +49 System.Diagnostics.Process.Start(String fileName) +31 eBay.Service.Util.SdkUtility.LaunchSignInPage(ApiContext Context, String SessionID) +671 VialinkerApps.App_Start.eBayApi.GetToken(UrlHelper url) +523 VialinkerApps.Controllers.SettingsController.AcceBay(eBaySetting eBaySetting) +16 lambda_method(Closure , ControllerBase , Object[]) +104 System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase controller, Object[] parameters) +14 System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary2 parameters) +156 System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary2 parameters) +27 System.Web.Mvc.Async.AsyncControllerActionInvoker.b__39(IAsyncResult asyncResult, ActionInvocation innerInvokeState) +22 System.Web.Mvc.Async.WrappedAsyncResult2.CallEndDelegate(IAsyncResult asyncResult) +29 System.Web.Mvc.Async.WrappedAsyncResultBase1.End() +49 System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult asyncResult) +32 System.Web.Mvc.Async.AsyncInvocationWithFilters.b__3d() +50 System.Web.Mvc.Async.<>c__DisplayClass46.b__3f() +225 System.Web.Mvc.Async.<>c__DisplayClass46.b__3f() +225 System.Web.Mvc.Async.<>c__DisplayClass33.b__32(IAsyncResult asyncResult) +10 System.Web.Mvc.Async.WrappedAsyncResult1.CallEndDelegate(IAsyncResult asyncResult) +10 System.Web.Mvc.Async.WrappedAsyncResultBase1.End() +49 System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethodWithFilters(IAsyncResult asyncResult) +34 System.Web.Mvc.Async.<>c__DisplayClass2b.b__1c() +26 System.Web.Mvc.Async.<>c__DisplayClass21.b__1e(IAsyncResult asyncResult) +100 System.Web.Mvc.Async.WrappedAsyncResult1.CallEndDelegate(IAsyncResult asyncResult) +10 System.Web.Mvc.Async.WrappedAsyncResultBase1.End() +49 System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult) +27 System.Web.Mvc.Controller.b__1d(IAsyncResult asyncResult, ExecuteCoreState innerState) +13 System.Web.Mvc.Async.WrappedAsyncVoid1.CallEndDelegate(IAsyncResult asyncResult) +36 System.Web.Mvc.Async.WrappedAsyncResultBase1.End() +54 System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult) +39 System.Web.Mvc.Controller.b__15(IAsyncResult asyncResult, Controller controller) +12 System.Web.Mvc.Async.WrappedAsyncVoid1.CallEndDelegate(IAsyncResult asyncResult) +28 System.Web.Mvc.Async.WrappedAsyncResultBase1.End() +54 System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult) +29 System.Web.Mvc.Controller.System.Web.Mvc.Async.IAsyncController.EndExecute(IAsyncResult asyncResult) +10 System.Web.Mvc.MvcHandler.b__5(IAsyncResult asyncResult, ProcessRequestState innerState) +21 System.Web.Mvc.Async.WrappedAsyncVoid1.CallEndDelegate(IAsyncResult asyncResult) +36 System.Web.Mvc.Async.WrappedAsyncResultBase1.End() +54 System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult) +31

System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IAsyncResult 

result) +9 System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +9651796 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +155

+0

Puoi darci qualche informazione di base? Cosa appare? Codice DOM risultante? Eventuali eccezioni? –

+0

@abdur Rahim Puoi fornire codice di errore? E screenshot degli errori –

+0

@ D.R. Ecco la traccia dell'eccezione da IIS –

risposta

0

Da quello che posso capire leggendo la traccia stack si può vedere sta cercando di fare uno System.Diagnostics.Process.Start. Mi sembra abbastanza strano per me provare a "reindirizzare" su un server web (IIS).

E dovrebbe darti degli errori mentre stai letteralmente cercando di avviare un eseguibile nel tuo processo IIS.

Questo comportamento sembra più probabile se lo si esegue in un'applicazione desktop, per "avviare" il browser predefinito con un URL.

Spiegherebbe anche perché sembra funzionare localmente in Visual Studio.

Vorrei controllare tutta la documentazione se è prevista l'utilizzo da un'applicazione IIS/ASP.NET.

+0

Non ho trovato alcun punto qui. puoi elaborare per favore? –

+0

La funzione LaunchSignInPage non sembra essere progettata per l'utilizzo in un'applicazione MVC/ASP.NET, se chiama Process.Start. Più probabilmente progettato per implementare Oauth in un'applicazione desktop. – Tapadak

+0

http://developer.ebay.com/devzone/guides/ebayfeatures/Basics/Tokens-MultipleUsers.html _____ in questo collegamento, descrivono come creare un URL di accesso e reindirizzare ad esso e dopo aver accettato il modulo di consenso esso reindirizzare alla mia domanda. Ho provato in quel modo prima, ma dopo aver accettato il modulo di consenso quando ebay restituisce l'utente alla mia applicazione, quindi l'id apicontext precedente e l'ID della sessione sono scomparsi. che ho bisogno di recuperare token. Un altro punto è che sto usando con successo questo metodo LaunchSignIn da VS come applicazione web MVC. –

Problemi correlati