2

我尝试了一些东西来在 IIS 6 下托管一个小的 nancy 测试 api:

https://github.com/NancyFx/Nancy/wiki/Hosting-nancy-with-asp.net

http://haacked.com/archive/2008/11/26/asp.net-mvc-on-iis-6-walkthrough.aspx

但它不起作用。这是我的步骤:

  1. 创建空的 Nancy Web 应用程序

  2. 使用 nuget 添加参考 - Nancy.Hosting.Aspnet 版本 0.15.1

    • 新的 Web.config 会自动修改
    • 如维基中所述
  3. 在解决方案根目录中添加新类 - HelloModule.cs
    • 插入测试代码“HelloWorld”
  4. 在本地发布网站
    • 在 Windows 2003 上
    • 在 IIS 管理器中使用虚拟目录

浏览 url 'localhost/nancyTest' 会带来 HTTP 403 错误。

一个小的 ASP.NET WebApplication 使用相同的配置运行。

nancyTest 应用程序没有像 default.aspx 这样的起始站点。我想从 .../nancyTest/ 获取请求响应,编码为:

public class HelloModule : NancyModule
{
    public HelloModule()
    {
        Get["/"] = parameters => "Hello World";
    }
}

也许调用 .../nancyTest/ 不是 GET 请求?还有其他更详细的内容吗?

4

1 回答 1

0

我知道现在使用 IIS6 的人不多,但是有以下解决方案,我希望它可以帮助一些仍然使用这个旧版本的人,

  1. 配置 aspnet_isapi 以处理新的 ext 文件等,.start
  2. 设置此应用程序的默认页面是index.start
  3. 在 nancy 模块中添加重定向方法,如下所示:

Get["index.start"] = _ => {
    return Response.AsRedirect("~/", Nancy.Responses.RedirectResponse.RedirectType.Permanent);
};

希望它有帮助

于 2016-04-26T06:40:26.113 回答