2012-01-05 54 views
2

我讀了很多關於如何在「img.mysite.com」這樣的子域上託管圖像的好處。我正在使用ASP.NET MVC 3,但我不知道如何保存/刪除子域上的圖像。我想指出,我不想在我的網站目錄中使用子域作爲子文件夾。 我想知道當子域可以在另一臺機器上時,將圖像保存到子域的一般方法。使用ASP.NET在子域上存儲圖像

+0

無論是在同一臺機器上,同一局域網上的不同機器上,還是完全不同的網絡上,它都會產生很大的差異。得到一個想法,我們可以幫助具體。 – 2012-01-05 01:34:48

+0

然後你需要FTP。 – SLaks 2012-01-05 01:35:00

+0

@AndrewBarber,好吧,現在我將在同一臺機器上使用一個子域。但我也對其他解決方案非常感興趣。我的意思是,當它在同一臺機器上,同一個局域網或不同的網絡上。 – 2012-01-05 01:42:44

回答

3

允許您獨立縮放和緩存圖像和應用程序。

首先,您不會將圖像保存到子域 - 這是一種DNS命名機制。您將映像放在具有指向該磁盤位置的Web站點的機器磁盤上,該Web站點具有IP地址,並且DNS具有解析爲該IP地址的名稱。所以,這只是將文件移動到另一個磁盤的問題。可以通過(1)FTP(2)http post(3)webdav(4)dropbox等等來完成對該磁盤的映像。有多種方法可以在磁盤上獲取映像。

您的應用程序站點可能具有名稱上的配置設置,以便爲每個靜態資源請求預先添加(images.mysite.com)。

你應該考慮的另一件事(以及爲什麼不僅分離出圖像而是靜態資源的關鍵原因)是CDN,它是一個內容交付網絡。像Azure和亞馬遜這樣的服務提供他們以及像Akamai這樣的流行服務。他們專注於非常快速地處理靜態資源並從應用程序服務器卸載工作。他們也是地理定位的,所以用戶從靠近他們的位置拉動靜態資源。如果你走這條路線,考慮拉其他靜態資源(js,css等),並給它一個像resources.mysite.com這樣的名字。

即使您不走CDN路由,即使您現在有一臺機器,您也可以將這兩臺機器分開,併爲資源DNS名稱提供配置設置,以便您的代碼支持該名稱,並且您可以拆分,移動,等等......任何時候的靜態資源。