Aracılığıyla paylaş


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

Windows Presentation Foundation (WPF) uygulamasını, uygun Çok Amaçlı İnternet Posta Uzantıları (MIME) türleriyle yapılandırıldıkları sürece çoğu Web sunucusuna 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 yapılandırılmaz.

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ılacağı açıklanmaktadır.

Uyarı

Bir sistemde .NET Framework'ün yüklü olup olmadığını belirlemek için kayıt defterindeki UserAgent dizesini de kontrol edebilirsiniz. .NET Framework'ün bir sistemde yüklü olup olmadığını belirlemek üzere UserAgent dizesini inceleyen bir betik ve ayrıntılar için bkz. .NET Framework 3.0'ın Yüklü Olup Olmadığını Algılama.

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

İçerik süre sonu ayarını 1 dakikaya ayarlamanız gerekir. Aşağıdaki yordamda BUNUN IIS ile nasıl gerçekleştirileceği özetlenmiştir.

  1. Başlat menüsüne tıklayın, Yönetim Araçlarıüzerine gelin ve Internet Information Services (IIS) Yöneticisiöğesine tıklayın. Bu uygulamayı komut satırından "%SystemRoot%\system32\inetsrv\iis.msc" ile de başlatabilirsiniz.

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

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

  4. HTTP Üst Bilgileri sekmesini seçin ve "İçerik Süre Sonunu Etkinleştir"e tıklayın.

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

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

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

Uzantı MIME Türü
.manifesto uygulama/manifesto
.xaml application/xaml+xml
.uygulama application/x-ms-application
.xbap application/x-ms-xbap
.Dağıtmak application/octet-stream
.xps application/vnd.ms-xpsdocument

Uyarı

İstemci sistemlerine MIME türlerini veya dosya uzantılarını kaydetmeniz gerekmez. Microsoft .NET Framework'ü yüklediğinizde bunlar otomatik olarak kaydedilir.

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 sunucunuzdaki bir .vbs dosyasına kopyalayın. Ardından, komut satırından dosyayı çalıştırarak veya Microsoft Windows Gezgini'nde 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

Uyarı

Bu betiğin birden çok kez çalıştırılması, Microsoft Internet Information Services (IIS) 5.0 veya Microsoft Internet Information Services (IIS) 6.0 metatabanında birden çok MIME eşleme girdisi oluşturur.

Bu betiği çalıştırdıktan sonra, Microsoft Internet Information Services (IIS) 5.0 veya Microsoft Internet Information Services (IIS) 6.0 Microsoft Yönetim Konsolu'ndan (MMC) ek MIME türleri göremeyebilirsiniz. Ancak, bu MIME türleri Microsoft Internet Information Services (IIS) 5.0 veya Microsoft Internet Information Services (IIS) 6.0 metatabanına eklenmiştir. Aşağıdaki betik, Microsoft Internet Information Services (IIS) 5.0 veya Microsoft Internet Information Services (IIS) 6.0 metatabanı içindeki 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 .vbs dosyası olarak kaydedin (örneğin, DiscoverIISMimeTypes.vbs) ve aşağıdaki komutu kullanarak komut isteminden çalıştırın:

cscript DiscoverIISMimeTypes.vbs