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?
et
3 Réponses :
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
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.
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
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:
Application > Cache Storage > blazor-resources/awesome-blazor-browser
dans les outils de développement Chrome.Request URL
la Request URL
jusqu'à l'extension .dll (surlignée en jaune ci-dessous)Go To
(affiché dans la capture d'écran du bas)
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