2011-05-14 136 views
2

我有modaspdotnet在我的Apache 2.2服务器上工作,因此它运行ASP.NET和MySQL相当不错。ASP.NET的自定义文件扩展名 - 需要帮助!

但是,我想要做的是提供其他扩展的内容,而不仅仅是默认的.aspx,例如, myfile.customextension。

在Apache中,我相信它是通过.htaccess完成的,但是在ASP.NET中它是通过web.config完成的。

这是我的web.config文件:

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
    <system.web> 
    </system.web> 
    <system.webServer> 
     <staticContent> 
      <mimeMap fileExtension=".testing1" mimeType="application/x-asp-net " /> 
     </staticContent> 
    </system.webServer> 

</configuration> 

它的工作,但ASP.NET代码不正确渲染 - 我希望能够与任何自定义运行ASP.NET代码延期。

安装IIS和NET 3.5。

我不想运行完整的IIS服务器,但确实需要ASP.NET来执行我正在执行的项目,因此Apache的modaspdotnet附加组件。

这是我的httpd.conf的标志着安装modaspdotnet的最后一行:

LoadModule aspdotnet_module modules/mod_aspdotnet.so 

# Use the asp.net handler for all common ASP.NET file types 
AddHandler asp.net asax ascx ashx asmx aspx axd config cs csproj \ 
        licx rem resources resx soap vb vbproj vsdisco webinfo 
<IfModule mod_aspdotnet.cpp> 
    # For all virtual ASP.NET webs, we need the aspnet_client files 
    # to serve the client-side helper scripts. 
    AliasMatch /aspnet_client/system_web/(\d+)_(\d+)_(\d+)_(\d+)/(.*) "C:/Windows/Microsoft.NET/Framework/v$1.$2.$3/ASP.NETClientFiles/$4" 
    <Directory "C:/Windows/Microsoft.NET/Framework/v*/ASP.NETClientFiles"> 
    Options FollowSymlinks 
    Order allow,deny 
    Allow from all 
    </Directory> 
</IfModule> 
#asp.net 
AddType application/x-asp-net .asp 
AddType text/html .asp 
AddHandler application/x-httpd-php .asp 

为什么这个工作不适合我,我应该怎么做才能解决这个问题? 我看了看网络,但找不到太多...有什么想法?

回答

0

添加简单的MIME类型是不够的 - 页面不是简单的,而是简单地传输到浏览器。 我对apache了解不多。但通常,当你想成为正常的aspx页面,但不同的扩展,你必须:

  1. 添加默认的aspx的HttpHandler下定义扩展这样的:
<httpHandlers> 
... 
<add verb="*" path="*.mycustomextension"> type="System.Web.UI.PageHandlerFactory"/> 
  1. 注册版本提供商:
<compilation > 
     <buildProviders> 
      <add extension=".mycustomextension" type="System.Web.Compilation.PageBuildProvider" /> 
     </buildProviders> 

试试吧,也许这将指向你在正确的方向