3
votes

Localiser les fichiers .dll téléchargés par Blazor Webassembly sur le disque?

Je veux localiser les fichiers .dll qui ont été livrés par Blazor (Web Assembly) aux navigateurs comme Chrome pour voir si les fichiers .dll peuvent être lus par des désassembleurs (comme Reflector) ou non. J'ai trouvé les fichiers dans Chrome

Outil de développement (F12)> onglet Application> Stockage du cache

mais ne peut pas les trouver sur le disque.

Mise à jour: supposons que je veuille accéder aux fichiers .dll du site Web Blazor d'un autre. Où sont les fichiers suivants sur l'ordinateur du visiteur du site Web?

entrez la description de l'image ici

et

entrez la description de l'image ici


4 commentaires

La réponse actuelle est fondamentalement correcte. Vous vous voyez sur la capture d'écran ci-dessus (avec cache) que ces fichiers ont été récupérés via l'url, à partir de votre serveur ( localhost: 58996 / _framework / ClassLibrary2.dll ). Donc, quiconque veut les obtenir n'a pas besoin de trouver où et comment Chrome stocke son cache - il peut simplement demander cette URL


@Evk mais lorsque je fais cela, j'obtiens l'état 404.11 Not Found avec le message d'erreur suivant: Le module de filtrage des demandes est configuré pour refuser une demande qui contient une double séquence d'échappement.


Essayez avec l'URL de mon commentaire (supprimez donc tout ce sha256, etc., ne laissez que le chemin vers la dll)


Voici un bon article décrivant quelques détails: blog.ndepend.com/blazor-internals-you-need-to-know


3 Réponses :


0
votes

Les fichiers .dll seront dans le dossier du projet, IIS Express exécute le projet directement à partir de là, par exemple si sur l' Developers tool(F12) > Application tab > Cache Storage vous voyez quelque chose comme /_framework/_bin/Blazor%20WebAssembly.dll.sha256-dTdRmYzYOZYhTcSkqvmzcmpD/Pi03agjQ4oZTOgt8o8= dans le nom, alors il sera trouvé ici lors du débogage:

<project root>\bin\Debug\netstandard2.1\wwwroot\_framework\_bin


6 commentaires

Je veux les récupérer depuis Chrome.


@nAviD qu'est-ce que cela signifie "les obtenir depuis Chrome "? Chrome ne fait une demande qu'à IIS Express, l'application est hébergée par IIS Express et servie à partir du dossier de la réponse, y compris les fichiers .dll que vous avez demandés à partir du disque


Les fichiers dll seront téléchargés et exécutés par Chrome. Je veux obtenir ces fichiers dll. Supposons que je n'ai pas accès au serveur IIS ou au projet que je souhaite simplement visiter le site Web et trouver les fichiers dll téléchargés


Que signifie "les fichiers dll seront téléchargés et exécutés par Chrome "? Chrome exécute le binaire compilé WASM Mono.NET, le runtime est amorcé et il charge et exécute ces fichiers .dll à partir du disque. Peut-être lire ce stackoverflow.blog/2020/02/26/… En un mot La seule partie du processus qui est compilé vers WebAssembly est le runtime Mono


Vous confirmez donc que les fichiers dll de mon application seront téléchargés? à part les fichiers de cache, le blazor notifie également dans la console les fichiers (et la taille) qui ont été téléchargés par le navigateur. Ai-je raison?


Je ne sais pas ce que vous demandez dans le commentaire, la question était d'obtenir les fichiers .dll à partir du disque exécuté par Blazor, ce que la réponse fournit.



0
votes

Vous pouvez essayer cet utilitaire - https://www.nirsoft.net/utils/chrome_cache_view.html

Sous Windows, l'emplacement du cache Chrome est - C: \ Users \% USERNAME% \ AppData \ Local \ Google \ Chrome \ User Data \ Default \ Cache

Cet utilitaire fonctionne également avec le dernier Microsoft Edge pour Chrome. Son emplacement de cache sur Windows est - C: \ Users \% USERNAME% \ AppData \ Local \ Microsoft \ Edge \ User Data \ Default \ Cache


0 commentaires

0
votes

Comme le souligne @Gursharan, ils sont enregistrés dans une base de données binaire stockée dans %LOCALAPPDATA%\Google\Chrome\User Data\Default\Cache .

Si vous souhaitez les lire à partir de votre disque local, vous devez utiliser un utilitaire pour lire le cache binaire de Chrome.

Vous pouvez également les télécharger à l'aide de l' Request URL affichée dans le stockage de cache de Chrome.

Par exemple:

  1. Visitez l' exemple d'application Blazor suivant
  2. Ouvrez Application > Cache Storage > blazor-resources/awesome-blazor-browser dans les outils de développement Chrome.
  3. Sélectionnez une ressource .dll.
  4. Dans l'onglet en-têtes et mettez en surbrillance l' Request URL la Request URL jusqu'à l'extension .dll (surlignée en jaune ci-dessous)
  5. Faites un clic droit et choisissez Go To (affiché dans la capture d'écran du bas)
  6. Si l'assembly est signé et approuvé, il se téléchargera automatiquement. Par exemple, netstandard.dll. Sinon, vous devez cliquer sur conserver dans l'invite des autorisations.

Aller à entrez la description de l'image icientrez la description de l'image icientrez la description de l'image ici


0 commentaires