【问题标题】:Cassini Error: "This type of page is not served"Cassini 错误:“未提供此类页面”
【发布时间】:2009-01-10 16:18:21
【问题描述】:

我正在尝试使用 Cassini 的 Server 类在我自己的应用程序中包含一个基本的 Web 服务器。我刚刚开始使用它来熟悉服务器的工作方式,并设置了一个简单的应用程序,如下所示:

    static void Main(string[] args)
    {
        Server server = new Server(80, "/", @"C:\Projects\");
        server.Start();
        Console.ReadLine();
        server.Stop();
    }

它可以让我浏览目录,但是如果我尝试单击一个文件,例如 C# 源文件 (*.cs),它会给出以下错误:

“/”应用程序中的服务器错误。

不提供此类页面。

描述:您拥有的页面类型 未提供请求,因为它有 被明确禁止。这 扩展名“.cs”可能不正确。
请查看下面的 URL 并制作 确保拼写正确。

我尝试在 Cassini 库中搜索该错误文本,但没有找到任何内容。

这个错误来自哪里?我怎样才能让它提供任何文件? 我知道它是用来做 asp.net 和 HTML 的,但我希望它也能像普通服务器一样提供任何文件。

【问题讨论】:

  • 嗨,Adam...它可以提供 HTML 和 ASPX 内容吗?

标签: c# cassini


【解决方案1】:

.cs 文件和许多源代码类型被阻止呈现,因为它们由 ASP.NET 的禁止文件处理程序处理。

这最初是在c:\windows\microsoft.net\v2.0.50727\CONFIG\web.config 的主 web.config 中的以下设置中配置的:

<httpHandlers> 部分中查找,您会看到如下设置:

<add path="*.cs" verb="*" type="System.Web.HttpForbiddenHandler" validate="True"/>

通常这是一个好主意,因为它可以防止随意浏览可能包含敏感数据(如连接字符串)的源代码。

您应该能够通过执行以下操作在应用的本地 web.config 中删除此限制:

<configuration>
   <system.web>
      <httpHandlers>
         <remove verb="*" path="*.cs"/>
      </httpHandlers>
   </system.web>
</configuration>

我可能不建议在面向 Web 的生产环境中执行此操作。

【讨论】:

  • @Kev 我没有意识到它被设置在这样的全局级别。不过有一个问题......我的应用程序(至少现在是一个测试)只是一个控制台应用程序,没有 web.config 甚至 app.config 文件。我可以添加它并粘贴您显示的内容吗?如果没有,我该怎么做才能设置它?
  • 我没有时间玩 Cassini,但我希望您能够在 c:\projects 文件夹中弹出一个 web.config 文件,它会起作用的。我假设您在该文件夹中有 .aspx 页面?
  • 另外……Dino Esposito 在 MSDN 上的这篇文章深入探讨了托管 cassini:msdn.microsoft.com/en-us/magazine/cc188791.aspx 有多少仍然相关,我不知道。
  • 如果您已经安装了 IIS,您可能还想选择一个不同的 http 端口(比如 8080 或其他)。如果 IIS 和 Cassini 开始争夺 80 端口,这可能会减轻一些痛苦。只是一个想法。
【解决方案2】:

下载和安装 MS ASP.Net 网页对我有用。

http://www.microsoft.com/download/en/details.aspx?id=15979

S.

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-13
    • 1970-01-01
    相关资源
    最近更新 更多