【问题标题】:asp.net module deploy problemsasp.net 模块部署问题
【发布时间】:2011-02-25 12:35:57
【问题描述】:

我正在尝试在我无法控制的托管服务器上安装 asp.net http 模块(它安装了 asp.net 4.0 frameworkd 和 IIS v7.5)。到目前为止,我在本地编译了我的 module.cs 文件(我使用 Visual Studio 2010 Publish Web 选项编译它)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace MyNamespace
{
    public class myModule : IHttpModule
    {
        public myModule() { }

        public void Init(HttpApplication application)
        {
            application.EndRequest += (new EventHandler(this.Application_EndRequest));
        }

        private void Application_EndRequest(Object source, EventArgs e)
        {
            HttpApplication application = (HttpApplication)source;
            HttpContext context = application.Context;
            context.Response.Write("msg from EndRequest<br>");
        }
        public void Dispose() { }

    }

}

并将已编译的 .dll 上传到服务器 webroot/bin 文件夹,我将 webroot/web.config 文件更改为包含

<system.webServer>
       <modules>
          <add name="myModule" type="MyNamespace.myModule"/>
       </modules>
</system.webServer>

然后什么也没发生。有什么问题,如何调试?

编辑:刚刚发现我在经典模式下运行。它适用于针对该模式更正的 web.config。对不起,我的头坏了。

【问题讨论】:

  • 不,我不明白为什么。我确实喜欢 msdn 和 learn.iis.net 上所说的
  • 是否有另一个配置部分删除了所有模块?
  • 不,这是我在本地机器上的 web.config:不行。
  • 在远程托管服务器上我只能看到 webroot/web.config 并且它也不会删除模块。子文件夹中的 web.config-s 也不会删除模块
  • 你试过用HttpApplication.Context.Current代替HttpApplication.Context吗?

标签: asp.net .net visual-studio-2010 iis-7


【解决方案1】:

如果您的主机没有自动重启您的网站。

【讨论】:

  • 不是这样,因为它在本地无法使用重新启动的应用程序和项目 App_Code 文件夹中的 module.cs
【解决方案2】:
<system.webServer>
       <modules>
          <add name="myModule" type="MyNamespace.myModule"/>
       </modules>
</system.webServer>

你能改变 type= 部分吗?您应该使用“MyNamespace.myModule,程序集名称

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多