2010-07-25 17 views
6

Sto implementando un gestore di URL personalizzato in .NET. Per testare questo, ho creato alcuni file .url diversi e li ho messi sul mio desktop. Questo in genere funziona bene, ma si comporta in modo strano se cambio il contenuto del file, in particolare la riga URL=. Ciò non ha alcun effetto: il vecchio URL continua ad essere aperto. Rinominare il file, tuttavia, funziona. Il file è simile al seguente:Windows memorizza il contenuto di file .url (collegamento a Internet) nella cache?

[{000214A0-0000-0000-C000-000000000046}] 
Prop3=19,0 
[InternetShortcut] 
URL=myCustomScheme://some/url/pointing/somewhere 
IDList= 

Tutti i tasti di scelta rapida che creo attraverso Nuovo → Collegamento ricevono lo stesso UUID, in modo da cambiare che probabilmente non sarà di aiuto.

C'è qualche file interno .url/cache di mappatura URL in Windows?

+0

Ho appena provato questo con URL http su Windows XP e ha raccolto le modifiche.Sei sicuro che il tuo gestore funzioni correttamente? – Luke

+0

Posso riprodurlo anche con gli URL 'http:' Windows 7, x64. –

+0

Hmm, sembra esserci qualche tipo di memorizzazione nella cache su Windows 7. La cosa divertente è che non succede ogni volta; a volte va al nuovo URL e talvolta al vecchio URL. Sembra che chiudi Internet Explorer e poi avvii il collegamento nella posizione corretta. – Luke

risposta

1

Windows 7 Memorizza nella cache i nomi dei file e talvolta, come hai detto, i nomi dei file in posizioni specifiche.

regedit Start e cercare la seguente

HKEY_USERS\S-1-5-21-x-x-x-x\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\MuiCache 

dove S-1-5-21-x-x-x-x è il vostro utente attualmente connesso.

È possibile vedere che la maggior parte (o tutti?) Dei file sono stati memorizzati nella cache a cui si è mai avuto accesso.

Forse è anche possibile disattivare il MUICaching in modo programmatico. Forse questo sito ti aiuta: Disable Caching

0

Ho avuto un problema simile, e si scopre che il colpevole era Firefox.

Se per caso il browser Web è Firefox, le directory della cache potrebbero essere danneggiate.

È possibile creare un nuovo profilo, o prendere le tue possibilità di pulizia cose fuori C:\Users\<username>\AppData\Local\Mozilla\Firefox\Profiles\<profile>\

1

ho una ragione di credere che i file URL vengono interpretati da qualche componente Internet Explorer al momento della creazione (non biblico). Vengono interpretati solo inizialmente, la prima volta che viene creato il file. Eventuali modifiche al file URL in seguito non verranno confermate. Questo perché il collegamento non è memorizzato nel file. Questo è il motivo per cui il file può essere modificato in seguito in modo che diventi vuoto, come un file da 0 byte e il file URL sembrerà funzionare comunque. I dati di scelta rapida sono memorizzati nel campo "Documento Web" come proprietà file nel file system NTFS. Il file serve semplicemente allo scopo di indicarlo. Potresti essere in grado di modificare questi campi di proprietà a livello di codice, che presumibilmente "modifica il file". È un esercizio doloroso solo per modificare quello che sembra essere un semplice file di testo.

Inoltre, una volta utilizzato un nome file per un file URL, non può essere riutilizzato per nuovi file, indipendentemente dal disco o dal percorso in cui lo si salva. Quindi devi continuare ad assegnare nomi di file univoci, mai usati in precedenza, per ogni nuovo file URL che crei. Questo ha a che fare con il modo in cui Internet Explorer memorizza nella cache il contenuto web. Ricorda quali nomi di file sono già stati utilizzati e associa tali nomi agli indirizzi URL precedentemente definiti. Per riutilizzare un nome (o quando si esauriscono le idee per nomi di file nuovi e univoci) è necessario cancellare i file temporanei Internet.

Windows 7: %localappdata%\Microsoft\Windows\Temporary Internet Files 
Windows 8: %localappdata%\Microsoft\Windows\INetCache 

Per rispondere direttamente alla tua domanda: sì, lo fa.

Problemi correlati