2010-04-18 107 views
10

我們有一個用.NET C#編寫的CMS系統。該系統具有模板(本質上是HTML文件)和各種其他支持文件(如CSS和JavaScript文件)的編輯工具。在C#中實現WebDAV服務器?

這些「文件」並不是真正的文件,而是數據庫記錄,它們使用CMS系統中的普通舊textareas進行編輯。

爲了使這些「文件」更容易編輯,一個想法是在CMS系統中爲這些文件實現WebDAV支持,因此用戶可以使用一些WebDAV客戶端軟件連接到CMS,然後在VS 2008中打開這些文件。

首先,這是一個可行的想法?

其次,如果是的話......從哪裏開始?任何有關在C#中實現WebDAV服務器的優秀文章,可以提供對物理文檔或「僞」文檔的訪問權,這些文檔實際上只是數據庫中的記錄?

知道的任何輸入....

+0

是你能夠實現這一點?我也有這樣的要求,我需要一些幫助。我沒有找到關於這個話題的很多指導方針。 – tamizhan 2014-12-24 16:07:20

+0

是的,我們最終從頭開始寫這個。它基本上是一個HttpModule,它響應WebDav標準所需的HTTP動詞。 – HaukurHaf 2014-12-24 19:18:01

+0

感謝您的回覆。這很好。我剛開始。作爲一個POC,我試圖編寫一個簡單的處理程序,並遇到問題。我很感謝這裏的任何幫助。 詳細信息 - http://stackoverflow.com/questions/27625680/httphandler-for-webdav-requests – tamizhan 2014-12-24 20:21:12

回答

15

一條路線走的是通過實現IHttpHandler接口開發自定義HTTP處理程序,或者你可以可能與ASHX去。看看這個頁面上的漫步。 http://msdn.microsoft.com/en-us/library/system.web.ihttphandler.aspx

你的WebDAV處理程序將需要處理的請求,並分派適當的方法處理程序來處理各種HTTP方法(GET,POST,PUT,DELETE,移動,複製等)。您支持的方法取決於您對各種WebDAV服務器類的符合要求。幸運的是,WebDAV有很多Java代碼可供您找到並用作實現的參考。

如果GPL許可證是不是對你的限制,它可能是值得考慮的Sphorium的WebDAV.NET http://sourceforge.net/projects/webdav/

而且有商業選擇。 http://www.webdavsystem.com/server

,當然還有最重要的環節,WebDAV的RFC http://www.ietf.org/rfc/rfc2518.txt

+0

謝謝,我要查看這些鏈接:-) – HaukurHaf 2010-04-18 11:44:12