zoukankan      html  css  js  c++  java
  • [导入]Processing A .aspx File From Console Window, Without Using IIS

    Printable Version

    Processing A .aspx File From Console Window, Without Using IIS
    By Jamsheer E B

    In this article you will learn how to execute an ASPX file from console. 

    Requirements 

    Platform : WIN NT 4.0 or Windows 2000 , .NET Framework Beta 2

    Steps


    1.Copy this code to a new file and save it as ConsoleHost.cs
    // project created on 2/5/2002 at 4:43 PM
    // compile csc ConsoleHost.cs /r:System.Web.dll
    using System ;
    using System.IO;
    using System.Web;
    using System.Web.Hosting;
    public class ConsoleHost : MarshalByRefObject // if you forget to extend this class
               // You'll get a SerializationException...!!! 
    {
     public void HandleRequest( String fileName ) 
     {
      Console.WriteLine ( "The output from the {0} file" , fileName ) ;
      // Create a Worker to execute the aspx file
      HttpWorkerRequest worker = new SimpleWorkerRequest( fileName, "" , Console.Out ) ;
      // execute the page
      HttpRuntime.ProcessRequest( worker ) ;
     }
    }
    public class Host
    {
     public static void Main(String[] args) 
     {
      ConsoleHost myHost = ( ConsoleHost )ApplicationHost.CreateApplicationHost
          ( typeof( ConsoleHost ) , "/test" ,
                                            Directory.GetCurrentDirectory( ) );
      foreach ( String fileName in args ) 
       {
        myHost.HandleRequest( fileName ) ;
       }
     }
    }


    2.Write a small ASPX file or copy this code and save it as test.aspx

    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
    <meta name="GENERATOR" content="Microsoft FrontPage 4.0">
    <meta name="ProgId" content="FrontPage.Editor.Document">
    <title>Console Host</title>
    </head>
    <script language="C#" runat="server">
    void Page_Load ( Object src , EventArgs args )
    {
     message.Text = "Hello World...!" ;
    }
    </script>
    <body>
    <asp:Label id="message" runat="server"/>
    </body>
    </html>


    3.Compile ConsoleHost.cs by typing csc ConsoleHost.cs /r:System.Web.dll

    4.Execute the test.aspx by typing ConsoleHost test.aspx, Now you can see the output from the test.aspx file as a static html in the Console window.

    Nope....I got an error...!!!!
    Unhandled Exception: System.IO.FileNotFoundException: File or assembly name ConsoleHost, or one of its dependencies, was not found.
    File name: "ConsoleHost"

    You have to create a bin directory as subdirectory to your current directory and move a copy of ConsoleHost.exe to it. Now you have two copies of ConsoleHost.exe, one in the current directory (in my case f:/temp/test/) and another in /bin (in my case f:/temp/test/bin) directory.

    Now type again ConsoleHost test.aspx, you should see an output like this,

    Now you are ready to create your own web server which can process ASP.NET files....!!!!


    文章来源:http://computer.mblogger.cn/wucountry/posts/47781.aspx
    ================================
      /\_/\                        
     (=^o^=)  Wu.Country@侠缘      
     (~)@(~)  一辈子,用心做一件事!
    --------------------------------
      学而不思则罔,思而不学则怠!  
    ================================
  • 相关阅读:
    c# 虚拟路径转换为绝对路径
    Java基础——封装
    作为测试人,如何优雅的查看Log日志?
    学习整理
    记一次DataNode慢启动问题
    记一次DataNode慢启动问题
    记一次DataNode慢启动问题
    DataNode迁移方案
    C++学习笔记-模板
    C Primer Plus之指针
  • 原文地址:https://www.cnblogs.com/WuCountry/p/305686.html
Copyright © 2011-2022 走看看