配置文件系統包存儲區:
<appSettings>
<add key="Gallery:PackageStoreType" value="FileSystem" />
<add key="Gallery:FileStorageDirectory" value="C:\Path\To\Packages" />
</appSettings>
指向一個不同的SQL Server:
<connectionStrings>
<add name="NuGetGallery" connectionString="Data Source=SQLSERVERNAME;Initial Catalog=NuGetGallery;Integrated Security=SSPI" providerName="System.Data.SqlClient" />
</connectionStrings>
編輯:支持SQL Server作爲包存儲
如果你想你的包作爲存儲在SQL Server中的BLOB,你必須做一些Ø f更改爲代碼。
首先,創建一個名爲SqlServerFileStorageService
類並實現IFileStorageService
。這個接口有幾種方法。重要的是GetFile()
和SaveFile()
。組合folderName
和fileName
將創建一個可在數據庫表中使用的唯一鍵。
您可以使用相同的連接字符串NuGetGallery或爲您的數據訪問添加一個新的。
然後添加一個項目叫做SqlServer
枚舉PackageStoreType
。
在ContainerBinding.cs增加的情況下,爲PackageStoreType.SqlServer
綁定到你的SqlServerFileStorageService
。
現在的NuGet畫廊應該創建一個SqlServerFileStorageService
和所有獲取並保存會使用你的類存儲在SQL Server中的BLOB。
順便說一句:我基於粗略的看代碼。可能還有一兩步,但這些看起來像是你需要關注的主要方面。
希望有所幫助。
你有nuget畫廊的代碼嗎?我想在Azure上託管它,你知道這些步驟嗎? – Neo 2015-06-17 10:23:43
@Neo對於代碼,請按照上面的鏈接和克隆git回購 – Robin 2015-06-17 15:54:20
,但它沒有任何Web項目代碼,也沒有任何Web,配置配置 – Neo 2015-06-17 17:03:01