Nasıl yapılır: WPF Uygulamalarını Dağıtmak için IIS 5.0 ve IIS 6.0'ı Yapılandırma

Uygun Çok Amaçlı İnternet Windows Presentation Foundation (MIME) türleriyle yapılandırıldıkları sürece çoğu Web sunucusundan bir Windows Presentation Foundation (WPF) uygulaması dağıtabilirsiniz. Varsayılan olarak, Microsoft Internet Information Services (IIS) 7.0 bu MIME türleriyle yapılandırılır, ancak Microsoft Internet Information Services (IIS) 5.0 ve Microsoft Internet Information Services (IIS) 6.0 değildir.

Bu konuda, WPF uygulamalarını dağıtmak için Microsoft Internet Information Services (IIS) 5.0 ve Microsoft Internet Information Services (IIS) 6.0'ın nasıl yapılandırıldığında açıklanmıştır.

Not

Bir sistemin yüklü olup olmadığını belirlemek için kayıt defterindeki UserAgent dizesini .NET Framework. Ayrıntılar ve UserAgent dizesini inceleyen bir betik için, .NET Framework'nin bir sistemde yüklü olup olmadığını saptamak için bkz. .NET Framework 3.0'ınYüklü Olup Olmadığını Algılama.

İçerik Süre Sonu Ayarını Ayarlama

İçerik süre sonu ayarını 1 dakika olarak ayarlamanız gerekir. Aşağıdaki yordamda, bunun IIS ile nasıl gerçekleştirin açık bir şekilde gerçekleştirin.

  1. Başlat menüsüne tıklayın, Yönetimsel Araçlar'ın noktasına gelinve Internet Information Services (IIS) Yöneticisi'ne tıklayın. Bu uygulamayı komut satırına "%SystemRoot%\system32\inetsrv\iis.msc" komutuyla da başlatabilirsiniz.

  2. Varsayılan Web sitesi düğümünü bulana kadar IIS ağacını genişletin.

  3. Varsayılan Web sitesi'ne sağ tıklayın ve bağlam menüsünden Özellikler'i seçin.

  4. HTTP Üst Bilgileri sekmesini seçin ve "İçerik Sona Erme Süresini Etkinleştir" seçeneğine tıklayın.

  5. İçeriğin süresi 1 dakika sonra dol olacak şekilde ayarlayın.

MIME Türlerini ve Dosya Uzantılarını Kaydetme

İstemcinin sistemi üzerindeki tarayıcının doğru işleyiciyi yükleyemediklerinden emin olmak için çeşitli MIME türlerini ve dosya uzantılarını kaydetmeniz gerekir. Aşağıdaki türleri eklemeniz gerekir:

Dahili numara MIME Türü
Manifest uygulama/bildirim
.xaml application/xaml+xml
Application application/x-ms-application
Xbap application/x-ms-xbap
Deploy application/octet-stream
.xps application/vnd.ms-xpsdocument

Not

İstemci sistemlerinde MIME türlerini veya dosya uzantılarını kaydetmeniz gerekmemektedir. Microsoft .NET Framework'i yükley .NET Framework.

Aşağıdaki Microsoft Visual Basic Scripting Edition (VBScript) örneği, gerekli MIME türlerini IIS'ye otomatik olarak ekler. Betiği kullanmak için, kodu sunucunuzda bir .vbs dosyasına kopyalayın. Ardından, komut satırı dosyasını çalıştırarak veya Microsoft Windows Explorer'da dosyaya çift tıklayarak betiği çalıştırın.

' This script adds the necessary Windows Presentation Foundation MIME types
' to an IIS Server.
' To use this script, just double-click or execute it from a command line.
' Running this script multiple times results in multiple entries in the IIS MimeMap.

Dim MimeMapObj, MimeMapArray, MimeTypesToAddArray, WshShell, oExec
Const ADS_PROPERTY_UPDATE = 2

' Set the MIME types to be added
MimeTypesToAddArray = Array(".manifest", "application/manifest", ".xaml", _
    "application/xaml+xml", ".application", "application/x-ms-application", _
    ".deploy", "application/octet-stream", ".xbap", "application/x-ms-xbap", _
    ".xps", "application/vnd.ms-xpsdocument")

' Get the MimeMap object
Set MimeMapObj = GetObject("IIS://LocalHost/MimeMap")

' Call AddMimeType for every pair of extension/MIME type
For counter = 0 to UBound(MimeTypesToAddArray) Step 2
    AddMimeType MimeTypesToAddArray(counter), MimeTypesToAddArray(counter+1)
Next

' Create a Shell object
Set WshShell = CreateObject("WScript.Shell")

' Stop and Start the IIS Service
Set oExec = WshShell.Exec("net stop w3svc")
Do While oExec.Status = 0
    WScript.Sleep 100
Loop

Set oExec = WshShell.Exec("net start w3svc")
Do While oExec.Status = 0
    WScript.Sleep 100
Loop

Set oExec = Nothing

' Report status to user
WScript.Echo "Windows Presentation Foundation MIME types have been registered."

' AddMimeType Sub
Sub AddMimeType (Ext, MType)

    ' Get the mappings from the MimeMap property.
    MimeMapArray = MimeMapObj.GetEx("MimeMap")

    ' Add a new mapping.
    i = UBound(MimeMapArray) + 1
    ReDim Preserve MimeMapArray(i)
    Set MimeMapArray(i) = CreateObject("MimeMap")
    MimeMapArray(i).Extension = Ext
    MimeMapArray(i).MimeType = MType
    MimeMapObj.PutEx ADS_PROPERTY_UPDATE, "MimeMap", MimeMapArray
    MimeMapObj.SetInfo

End Sub

Not

Bu betiği birden çok kez çalıştırarak Microsoft Internet Information Services (IIS) 5.0 veya Microsoft Internet Information Services (IIS) 6.0 metatabanı içinde birden çok MIME eşleme girdisi oluşturur.

Bu betiği çalıştırdikten sonra Microsoft Internet Information Services (IIS) 5.0 veya Microsoft Internet Information Services (IIS) 6.0 veya (MMC) Microsoft Yönetim Konsolu miME türleri göremeyebiliyorsınız. Ancak, bu MIME türleri Microsoft Internet Information Services (IIS) 5.0 veya Microsoft Internet Information Services (IIS) 6.0 metatabanı eklenmiştir. Aşağıdaki betik, Microsoft Internet Information Services (IIS) 5.0 veya Microsoft Internet Information Services (IIS) 6.0 metatabanı içinde tüm MIME türlerini görüntüler.

' This script lists the MIME types for an IIS Server.
' To use this script, just double-click or execute it from a command line
' by calling cscript.exe

dim mimeMapEntry, allMimeMaps

' Get the MimeMap object.
Set mimeMapEntry = GetObject("IIS://localhost/MimeMap")
allMimeMaps = mimeMapEntry.GetEx("MimeMap")

' Display the mappings in the table.
For Each mimeMap In allMimeMaps
    WScript.Echo(mimeMap.MimeType & " (" & mimeMap.Extension + ")")
Next

Betiği bir dosya .vbs olarak kaydedin (örneğin, DiscoverIISMimeTypes.vbs ) ve aşağıdaki komutu kullanarak komut isteminden çalıştırın:

cscript DiscoverIISMimeTypes.vbs