2015-06-13 1 views
7

.Net 4.5, MVC 5, IIS 8SdkUtility.LaunchSignInPage Umleitung nicht auf ebay Anmeldeseite

SdkUtility.LaunchSignInPage(apiContext, _sessionID); 

Aus meiner Anwendung (in VS 2013) ich leicht auf die Anmeldeseite zugreifen kann. Aber Problem tritt auf, als ich es in IIS veröffentlichte. Erstens zeigt es Fehler wie Zugriff verweigert.

ich gesucht und in IIS, Applicationpool, gab ich NETWORK_SERVICE und gab Network Service vollständige Authentifizierung & ausführen ...

Fehler nicht angezeigt mehr zu lesen oder zu lesen. aber die Anmeldeseite erscheint nicht.

** EDIT 1: **

Verwenden von ASP .NET MVC 5, IIS 8.0.0.9, eBaySdk

Während ich versuche, über SDK Anruf zu bekommen Token, tritt dieser Fehler auf. Natürlich nach dem Hosting. aber im visuellen Studio funktioniert es gut. Was ich denke ist, dass ich eine bestimmte Berechtigungsebene festlegen muss, damit Benutzer sdk oder etwas Ähnliches verwenden können. Hier ist die vollständige Fehlerverfolgung.

Zugriff wird

verweigert

Beschreibung:

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.

Ausnahmedetails:

System.ComponentModel.Win32Exception: Access is denied

Quellfehler:

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.

Stack Trace:

[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

Können Sie uns Hintergrundinformationen geben? Was erscheint? Resultierender DOM-Code? Irgendwelche Ausnahmen? –

+0

@abdur Rahim Können Sie mehr Code und Fehler Bildschirm shotts –

+0

@ D.R. Hier sind die Ausnahme Trace von IIS –

Antwort

0

Von dem, was ich durch die Lektüre der Stack-Trace kann verstehen Sie können sehen, es versucht, eine System.Diagnostics.Process.Start zu tun. Das klingt ziemlich seltsam, wenn ich versuche, auf einem Webserver (IIS) "umzuleiten".

Und sollte Ihnen Fehler geben, wie Sie buchstäblich versuchen, eine ausführbare Datei in Ihrem IIS-Prozess zu starten.

Dieses Verhalten scheint wahrscheinlicher, wenn Sie es in einer Desktop-Anwendung ausführen, um Ihren Standardbrowser mit einer URL zu starten.

Würde auch erklären, warum es scheint, in Visual Studio lokal zu arbeiten.

Ich würde jede Dokumentation überprüfen, ob sie von einer IIS/ASP.NET-Anwendung verwendet werden soll.

+0

Ich habe hier keinen Punkt bekommen. kannst du bitte ausarbeiten? –

+0

Die Funktion LaunchSignInPage scheint nicht für die Verwendung in einer MVC/ASP.NET-Anwendung konzipiert zu sein, wenn sie Process.Start aufruft. Wahrscheinlich für die Implementierung von Oauth in einer Desktop-Anwendung. – Tapadak

+0

http://developer.ebay.com/devzone/guides/ebayfeatures/Basics/Tokens-MultipleUsers.html _____ In diesem Link beschreiben sie, wie man eine URL einbaut und umleitet und nach dem Akzeptieren der Einverständniserklärung Redirect zu meiner Anwendung. Ich habe es vorher schon einmal versucht, aber nachdem ich das Zustimmungsformular akzeptiert habe, als ebay den Benutzer zu meiner Anwendung zurückbringt, ist die vorherige apicontext & session id verschwunden. welches ich Token holen muss. Ein weiterer Punkt ist, dass ich diese LaunchSignIn-Methode von VS erfolgreich als MVC-Webanwendung verwende. –