2009-03-19 13 views
0

J'ai une application Web ASP.Net et mes appels de code C# dans une DLL COM personnalisée.DLL d'appel d'application ASP.Net avec fOpen

La DLL a été écrite un certain temps en arrière et utilise fOpen. Les appels fOpen retournent un pointeur NULL. Je soupçonne que ce sont des permissions, mais je n'ai aucune chance de résoudre le problème.

Quelqu'un peut-il me donner des idées de quoi faire? Peut-on utiliser fOpen? Y a-t-il des autorisations spéciales que je dois définir?

Toute aide serait grandement appréciée.

Merci, Tony

Répondre

0

La question est très probablement avec le fichier, il est en train d'essayer d'ouvrir. Le processus de travail du fichier Asp.Net n'a probablement pas l'autorisation d'accéder à ce fichier sur le système de fichiers. Vous devrez ajouter un accès au processus de travail, ce qui devrait résoudre le problème.

Cette page détaille comment définir des autorisations pour Asp.Net 1.1. Il devrait être assez similaire pour les versions ultérieures de Asp.Net

http://www.asp.net/learn/whitepapers/aspnet-and-iis6/

+0

Oui, cela pourrait être. Je ne suis pas familier avec le «processus de travail». Où ajouterais-je les autorisations? – LilMoke

+0

Eh bien, j'ai fait exactement ce qui est expliqué dans l'article et il échoue toujours. D'autres possibilités? J'apprécie vraiment l'aide, celle-ci m'a fait perplexe. – LilMoke

0

Quelques choses à vérifier:

  • Le niveau trust de l'application ASP.Net
  • Êtes-vous passer le bon chemin à la DLL (mappage vers le système de fichiers local vs système de fichiers Web)?
  • Le account used to run the site dispose-t-il des autorisations suffisantes pour accéder au fichier?
+0

Ok, plus d'informations qui peuvent aider. La DLL est codée en dur pour utiliser D: \ Path. Donc mon serveur web n'a pas de lecteur D, donc j'ai utilisé SUBST pour créer un lecteur cirtual. J'ai également essayé de partager le répertoire, puis mappé un lecteur D. L'un ou l'autre d'entre eux serait-il important? – LilMoke

+0

Il s'agit probablement d'un problème d'accès à votre lecteur mappé ou virtuel. –