cs_Kyoto
Messages postés28Date d'inscriptionmardi 15 juillet 2003StatutMembreDernière intervention28 août 2008
-
25 juil. 2008 à 10:25
nhervagault
Messages postés6063Date d'inscriptiondimanche 13 avril 2003StatutMembreDernière intervention15 juillet 2011
-
26 juil. 2008 à 22:18
Hello world !
Alors voilà j'ai un site web en asp.net, et depuis ce site je voudrais piloter une application qui est CodeSoft ( création d'étiquette ), Donc j'ai référencer la dll de codesoft dans mon projet Web.
Et j'ai mis dans mon Page_Load ce bout de code que j'ai trouvé dans les exemples CodeSoft en VB.NET :
Dim MyApp As LabelManager2.Application
MyApp = New LabelManager2.Application
MyApp.Visible = True
Mais le probleme c'est que lors de l'éxécution de ma page web j'ai cette erreur :
Accès refusé.
Description : Une exception non gérée s'est produite au moment de l'exécution de la demande Web actuelle. Contrôlez la trace de la pile pour plus d'informations sur l'erreur et son origine dans le code.
Détails de l'exception: System.UnauthorizedAccessException: Accès refusé.
ASP.NET n'est pas autorisé à accéder à la ressource demandée. Accordez des droits d'accès à la ressource pour l'identité de la demande ASP.NET. ASP.NET a une identité de processus de base (en règle générale {MACHINE}\ASPNET sur IIS 5 ou Network Service sur IIS 6) qui est utilisée si l'application n'emprunte pas d'identité. Si l'application emprunte une identité via , l'identité sera l'utilisateur anonyme (en règle générale IUSR_MACHINENAME) ou l'utilisateur de la demande authentifié.
Pour accorder un accès en écriture ASP.NET à un fichier, cliquez avec le bouton droit sur le fichier dans l'Explorateur, choisissez "Propriétés" et sélectionnez l'onglet Sécurité. Cliquez sur "Ajouter" pour ajouter l'utilisateur ou le groupe approprié. Sélectionnez le compte ASP.NET et activez les cases à cocher pour l'accès souhaité.
Erreur source:
Ligne 23 : Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Ligne 24 : Dim MyApp As LabelManager2.Application
Ligne 25 : MyApp = New LabelManager2.Application
Ligne 26 : MyApp.Visible = True
Ligne 27 :
Fichier source : c:\inetpub\wwwroot\AssistantEtiquette\WebForm1.aspx.vb Ligne : 25
J'ai essayé de suivre leur procédure, j'ai donc fait click droit sur mon WebForm1.aspx et ajouter l'utilisateur ASPNET avec tous les droits ( écriture et lecture ) mais j'ai toujours le meme probleme, donc si vous avez une idée je suis prenneur.
cs_Kyoto
Messages postés28Date d'inscriptionmardi 15 juillet 2003StatutMembreDernière intervention28 août 2008 25 juil. 2008 à 15:34
Donc j'ai un peu avancer dans mon problème je n'ai désormais plus de message d'erreur. Ma page web met longtemps à se charger mais codeSoft ne s'ouvre pas et j'ai ce message d'erreur dans le event viewer :
La description pour l'ID d'événement ( 0 ) dans la source (.NET Runtime) est introuvable. L'ordinateur local n'a peut-être pas les informations de Registre ou les librairies requises pour afficher les messages émanant d'un ordinateur distant. Vous pourrez peut-être utiliser l'option /AUXSOURCE= pour récupérer cette description. Reportez-vous aux rubriques Aide et support pour plus de détails. Les informations suivantes font partie de l'événement : Unable to open shim database version registry key - v2.0.50727.00000.
Pour arriver ici j'ai juste lancé DCOMCNFG
Je suis allé dans :
Components Services -> Ordinateurs -> Poste de travail
Click droit sur poste de travail -> propriété -> sécurité com
J'ai modifié autorisations d'accès et autorisations d'éxécution et d'activation , j'y ai ajouté l'utilisateur ASPNET avec le controle total
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 201029 25 juil. 2008 à 23:56
Bonjour,
que cherches tu as faire ? lancer ton application sur le client ? ou sur le serveur ? sur le client c'est impossible ! n'oublie pas que ASP.net est un serveur web et ne fait que répondre à des requetes HTTP, rien de plus ! sur le serveur, c'est théoriquement possible mais TRES déconseillé, en effet par défaut, ASP.net/IIS est un service, il utilise donc un compte qui n'a pas de dekstop, ou voudrais tu afficher ton application ? Il me semble que c'est assez pénible de faire afficher une fenetre windows à partir d'un service windows, je suis pas sur qu'utiliser de l'impersonation au niveau de IIS/ASP.net afin d'utiliser le compte windows d'une session active sur le serveur suffit.
Afin de savoir quelle problème de sécurité tu as, regarde l'inerException de ton exception, tu peux aussi utiliser filemon afin de voir tous les accés disques et vérifier ceux qui sont refusé.
nhervagault
Messages postés6063Date d'inscriptiondimanche 13 avril 2003StatutMembreDernière intervention15 juillet 201137 26 juil. 2008 à 22:18
Salut,
Alors pour repondre a la question il faut faire un usercontrol windows forms et l'embarqué dans une balise object dans ta page web
Dans le user control c'est ton code fonctionnel de ta windows form.
Pour empecher le click sur le controle pour activer
utilise
<form id="form1" runat="server">
<script type="text/javascript" src="object.js"></script>
</form>