2010-07-25 10 views
6

Implementuję niestandardową procedurę obsługi adresów URL w .NET. Aby to sprawdzić, utworzyłem kilka różnych plików .url i umieściłem je na moim pulpicie. Zwykle działa dobrze, ale zachowuje się dziwnie, gdy zmieniam zawartość pliku, szczególnie linię URL=. Nie spowoduje to żadnego efektu - stary adres URL będzie nadal otwierany. Zmienianie nazwy pliku działa. Plik wygląda następująco:Czy system Windows buforuje zawartość plików .url (skrótów internetowych)?

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

Wszystkie skróty tworzę poprzez Nowy → skrót otrzymać ten sam UUID, tak zmienia, że ​​prawdopodobnie nie pomoże.

Czy istnieje jakiś wewnętrzny bufor pamięci pliku .url/URL w systemie Windows?

+0

Właśnie przetestowałem to z adresami http w systemie Windows XP i podniosłem zmiany.Jesteś pewien, że twój przewodnik działa poprawnie? – Luke

+0

Mogę odtworzyć to również z 'http:' adresami URL. Windows 7, x64. –

+0

Hmm, wydaje się, że w Windowsie jest coś w rodzaju cache'owania. Zabawne jest to, że nie dzieje się za każdym razem; czasem przechodzi na nowy adres URL, a czasami stary adres URL. Wygląda na to, że jeśli zamkniesz Internet Explorera, a następnie uruchomisz skrót, przejdzie on do właściwej lokalizacji. – Luke

Odpowiedz

1

Windows 7 Buforuje nazwy plików, a czasami, jak powiedziałeś, nazwy plików w określonych lokalizacjach.

Uruchom regedit i szukać następnego

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

gdzie S-5.1.21-x-x-x-x jest aktualnie zalogowanego użytkownika.

Widać, że większość (lub wszystkie?) Plików zostało zbuforowanych, z których kiedykolwiek korzystałeś.

Może można również dezaktywować program MUICaching programowo. Może ta strona pomaga: Disable Caching

0

Miałem podobny problem, a okazało się, że sprawcą był Firefox.

Jeśli przypadkiem Twoja przeglądarka jest Firefox, katalogi pamięci podręcznej mogą być uszkodzone.

można utworzyć nowy profil, lub podjąć szanse czyszczenia rzeczy z C:\Users\<username>\AppData\Local\Mozilla\Firefox\Profiles\<profile>\

1

Mam powody przypuszczać, że pliki URL są interpretowane przez jakiegoś komponentu Internet Explorer w momencie tworzenia (nie biblijny). Są interpretowane tylko początkowo, przy pierwszym utworzeniu pliku. Wszelkie modyfikacje pliku URL później nie zostaną zatwierdzone. Wynika to z faktu, że skrót nie jest zapisany w pliku. Dlatego plik można później zmodyfikować, aby stał się pusty, ponieważ plik o rozmiarze 0 bajtów i plik URL będą działały. Skróty są przechowywane w polu "Dokument internetowy" jako właściwość pliku w systemie plików NTFS. Plik służy jedynie do wskazania go. Możesz być w stanie modyfikować te pola właściwości programowo, co rzekomo "edytuje plik". To bolesne ćwiczenie, aby edytować coś, co wydaje się być zwykłym plikiem tekstowym.

Dodatkowo, gdy nazwa pliku została użyta dla pliku URL, nie można go użyć ponownie dla nowych plików, bez względu na to, na jaki dysk lub ścieżkę zostanie zapisany. Musisz więc przypisać unikalne nazwy plików, nigdy wcześniej nie używane, dla każdego nowego pliku URL, który utworzysz. Dotyczy to sposobu, w jaki program Internet Explorer buforuje zawartość internetową. Zapamiętuje, jakie nazwy plików zostały już użyte i odwzorowuje je na wcześniej zdefiniowane adresy URL. Aby ponownie użyć nazwy (lub gdy zabraknie pomysłów na nowe i unikalne nazwy plików), musisz wyczyścić tymczasowe pliki internetowe.

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

Aby bezpośrednio odpowiedzieć na pytanie: tak, robi.

Powiązane problemy