Skip to main content
 首页 » 编程设计

c#之如何在 C# 中将 asp 文件作为 Web 服务器运行

2024年01月29日23leader

我想用 C# 编写一个可以处理 asp 请求的 Web 服务器。 我该怎么做?

请您参考如下方法:

ASP.Net 运行时可以由您喜欢的任何进程托管,而且实际上做起来非常简单。关键在于使用 HttpRuntime类。

来 self 在“Hidden Features of ASP.Net”主题的回答:

public class HostingClass : MarshalByRefObject 
{ 
    public void ProcessPage(string url) 
    { 
        using (StreamWriter sw = new StreamWriter("C:\temp.html")) 
        { 
            SimpleWorkerRequest worker = new SimpleWorkerRequest(url, null, sw); 
            HttpRuntime.ProcessRequest(worker); 
        } 
                    // Ta-dah!  C:\temp.html has some html for you. 
    } 
} 

然后在您的网络服务器类中:

HostingClass host = ApplicationHost.CreateApplicationHost(typeof(HostingClass),  
                                            "/virtualpath", "physicalPath"); 
host.ProcessPage(urlToAspxFile);  

显然这并不是一个真正的网络服务器,但它显示的是处理对 aspx 页面的请求、解析页面并将结果转储到文本文件。

要编写一个真正的服务器,您显然需要开始监听和接受来自套接字连接的请求,但关键是您可以轻松地利用 asp.net 运行时为您处理页面,并编写您自己的所有内容如何为他们提供服务的逻辑。