Hallo pixxma,
mit dem IIS kannst du auf Ordner-Ebene Header vordefinieren (im IIS Manager den Ordner mit den PDFs auswählen, dann rechts in der IIS Rubrik "HTTP Antwortheader" doppelklicken. Du hast nun die Möglichkeit, einen Expires-Header manuell einzutragen, oder mit "Gemeinsam genutzte HTTP Antwortheader" die Expiration Time per GUI anzugeben. Dieser Dialogtitel ist im deutschen IIS eine schreckliche Falschübersetzung, original heißt es "Set Common Headers", also sowas wie "Setze häufig verwendete Header".
Letztlich macht der IIS daraus einen Eintrag in der web.config. Es kann mehrere web.configs geben, eine pro Ordner. Die im Stammordner des Webs vererbt sich in die Unterverzeichnisse, sofern die keine eigenen web.config haben. So sieht's aus, wenn Du Caching ganz abschaltest:
<system.webServer>
<staticContent>
<clientCache cacheControlMode="DisableCache" />
</staticContent>
</system.webServer>
Es gibt auch andere Optionen, Doku steht hier
Header pro Dateityp habe ich in den IIS Einstellungen nicht gefunden. Aber wenn deine Link-Targets alle in einem gemeinsamen Ordner liegen, sollte das nichts ausmachen.
Rolf
sumpsi - posui - clusi