Asp.Net自定义扩展名,如何在Jexus运行
起因
最近不是很忙,在想如何现有的项目迁移到Linux平台上,首先就得自定义扩展名为do,能正常运行喽!新建一个Web空项目

分别创建了MyHandler.cs,Index.aspx,Hanlder.ashx,这几个测试文件
MyHandler.cs(主要测试这个)文件内容
using System;
using System.Web;
namespace ExtesionName
{
public class MyHandler : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
string content = string.Format("Hello Mono,MyHandler {0}", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
context.Response.Write(content);
}
public bool IsReusable
{
get { return false; }
}
}
}
Index.aspx 文件内容
<p style="color: red; text-align: center">Hello Mono,MyHandler <%=DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss") %></p>
Handler.ashx 文件内容
using System.Web;
namespace ExtesionName
{
public class Handler : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
context.Response.Write("Hello World");
}
public bool IsReusable
{
get
{
return false;
}
}
}
}
修改web.config
在system.web节点下,添加以下内容<httpHandlers>
<add verb="*" path="*.do" validate="false" type="ExtesionName.MyHandler,ExtesionName"/>
</httpHandlers>
varb指的是请求方式,如POST或GET等,*号代表所有; path指的是请求的文件名称,*号匹配所有,这里限定后缀为do;
type有,号分割为两部分,第一部分类的全名称(包括命名空间),第二部分是生成在bin文件夹下的程序集名称
Linux环境(主要通过Win10的bash)
1. 下载jexus 独立版Jexus 2. 将jexus压缩文件,移动某个盘符下; 这里为F:\ProjectCodes\ccpp
3. 在命令行,输入bash,进入Win10下的Linux环境中.如果不可以执行该命令,这可以参考Win10启用bash
4. 在bash中,如何查找盘符呢?

5. 解压jexus
tar -zxvf jexus-5.8.1-x64.tar.gz
6. 修改默认配置和指定项目所在位置
7.运行看看效果
sudo ./jws start
秋风
2017-02-20