簡體   English   中英

C#NET HTTP.SYS Web服務器

[英]C# NET HTTP.SYS web server

我只需要創建一個非常基本的Web服務器,基本上允許我訪問http://1.2.3.4:8080並瀏覽C:\\ web或其他文件列表。

我發現這個http://mikehadlow.blogspot.com/2006/07/playing-with-httpsys.html看起來很完美,但我遇到了幾個問題。

1)當我用文件中的*或+替換IP時,我在system.dll中獲得訪問被拒絕的錯誤。 當我使用localhost或我的本地IP時,它工作正常。 為什么是這樣? 我希望能夠將它綁定到具有多個計算機的特定IP地址。

2)我可能遺漏了一些東西,但是如何指定使用此代碼服務的文件所在的核心目錄?

重新1:因為您沒有權限注冊此網址。 使用“http add urlacl2為您的用戶注冊權限(作為管理員)進行綁定。例如:http add urlacl url = http:// +:8080 / user = DOMAIN \\ UserName

回復2:你沒有。 這幾乎是你的代碼。 Http.sys不讀取文件系統 - 它是一個驅動程序。 您的應用程序必須讀取文件並回答請求。

這可能對你想要的東西有點過分,但請查看aspNETserve Web服務器項目。

它是開源的,所以至少你可以瀏覽代碼來獲得一些想法。

我知道這對你的代碼問題沒有幫助,但為什么要重新發明輪子呢! 我認為您應該考慮使用IIS Express,因為我認為它可以很好地滿足您的需求:

http://learn.iis.net/page.aspx/868/iis-express-overview/

IIS Express是一個獨立的可執行文件,可提供您需要的所有功能。 它也將在Windows XP及更高版本上運行。

這是一個簡單安全的C#Web服務器,提供摘要式身份驗證,無需Active Directory。 Digest Auth已經破解,但是使用18個字符的密碼破解是不切實際的,無論如何,人們可以看到如何使用C#和.NET HTTP.SYS創建一個Web服務器,這就是這個問題的重點。

https://git.motes.camp/web/index.php?p=DigestAuthWebServer.NET-HTTPSYS.git&a=summary

clone url: https//git.motes.camp/DigestAuthWebServer.NET-HTTPSYS.git

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM