C#NET HTTP.SYS web服务器

C#NET HTTP.SYS web服务器,c#,.net,http.sys,C#,.net,Http.sys,我只需要创建一个非常基本的web服务器,它基本上允许我访问并浏览C:\web之类的文件列表 我发现这个看起来很完美,但我遇到了几个问题 1) 当我用*或+替换IP时,如文档所述,在system.dll中会出现拒绝访问错误。当我使用本地主机或我的本地IP时,它工作正常。为什么会这样?我希望能够将它绑定到具有多个IP地址的计算机上的特定IP地址 2) 我可能遗漏了一些内容,但是如何指定它使用此代码提供的文件所在的核心目录?re 1:因为您没有注册此url的权限。使用“http add urlacl2

我只需要创建一个非常基本的web服务器,它基本上允许我访问并浏览C:\web之类的文件列表

我发现这个看起来很完美,但我遇到了几个问题

1) 当我用*或+替换IP时,如文档所述,在system.dll中会出现拒绝访问错误。当我使用本地主机或我的本地IP时,它工作正常。为什么会这样?我希望能够将它绑定到具有多个IP地址的计算机上的特定IP地址


2) 我可能遗漏了一些内容,但是如何指定它使用此代码提供的文件所在的核心目录?

re 1:因为您没有注册此url的权限。使用“http add urlacl2”为您的用户(作为管理员)注册进行绑定的权限。例如:http add urlacl url=http://+:8080/user=DOMAIN\UserName


Re 2:你没有。这几乎就是你的代码。Http.sys不是从文件系统读取的,它是一个驱动程序。你的应用程序必须读取文件并响应请求。

这可能有点过分了,但请查看web服务器项目


它是开源的,因此至少您可以浏览代码以获得一些想法。

我知道这对解决代码问题没有帮助,但为什么要重新发明轮子呢!我认为您应该考虑使用IIS Express,因为我认为它可以很好地满足您的需要:


IIS Express是一个独立的可执行文件,将提供您所需的所有功能。它也将在Windows XP及以上版本上运行。

这是一个简单而安全的C#Web服务器,提供摘要身份验证,而无需Active Directory。摘要身份验证已损坏,但无论如何,使用超过18个字符的密码破解是不现实的我们可以看到如何使用C#和.NET HTTP.SYS创建Web服务器,这正是这个问题的重点


克隆url:

你联系了博主吗?你在他的博客上留言了吗?@Serge-appTranslator:他为什么要这么做?
HttpListener
是一个.NET类,这个问题在这里非常有效。有趣的发现,我不知道IIS Express。谢谢。如果你需要一个完整的、免费的、商业级的web服务器,由全世界数百万人都可以安装Apache.+1。虽然在Win7上,我需要运行“netshHTTP”,然后运行“addurlaclURL=…”。输入错误?