获取ScriptHandlerFactory处理程序

时间:2011-07-28 21:11:46

标签: c# jquery asp.net web-services routing

有没有办法调用返回IHttpHandler类型对象的System.Web.Script.Services.ScriptHandlerFactory类GetHandler方法。我知道ScriptHandlerFactory是一个内部类,但是我可以通过其他任何方式获得它吗?我说的原因是因为我想路由我的.asmx路径,路由需要这种类型的代码:

    public IHttpHandler GetHttpHandler(RequestContext requestContext)
{
   return new WebServiceHandlerFactory().GetHandler(HttpContext.Current,
        "*",
        _VirtualPath,
        HttpContext.Current.Server.MapPath(_VirtualPath));
   }
}

上面使用了“WebServiceHandlerFactory”,但我只想使用ScriptHandlerFactory,因为我也想使用jquery ajax调用。我将通过jquery ajax调用调用asmx方法。你能帮我这么做吗?

1 个答案:

答案 0 :(得分:1)

借用Spring.Net。我用它来访问SimpleHttpHandler因为我使用IoC来创建HttpHandler s。

编辑: This is the code我曾经弄明白该怎么做。显然,它需要完全信任,而且我不喜欢这个hack,但是在创建我自己需要依赖构建的处理程序工厂时,ASP.NET并没有让我很容易做IoC -in功能。

编辑2:修正了System.Web.Services.Protocols.WebServiceHandlerFactory的完全限定类型名称。修复了程序集搜索,从搜索位于IHttpHandler的{​​{1}}到System.Web的{​​{1}}。如果您有任何问题,请告诉我。

编辑3:对此抱歉。我遗漏了他们使用的WebService课程,如果你愿意,你可以用另一种方式,但是当我这样做时,我只是直接从他们那里复制了。它用于提升和断言权限,这就是您需要完全信任的原因。

代码

System.Web.Services