我有一个创建和下载PDF文件的课程。如果我从我的c#codebehind中调用这个类,它就像一个冠军。但是,如果我尝试从Web服务中调用它,它就什么都不做。没有错误,没有文件创建,它只运行到函数的末尾并返回,就是这样。我查看了代码,看看对同一个函数的两个调用有什么不同,我发现的唯一区别是HTTPContext处理程序是不同的。成功的代码隐藏调用使用处理程序ASP.behavior_referrals_aspx,不成功的Web Service调用使用处理程序System.Web.Script.Services.ScriptHandlerFactory.HandlerWrapper。
我整个下午一直在看处理程序,直到我的脑袋旋转。我现在明白处理程序将以不同的方式处理代码,因此我认为这是我的问题所在。我的问题(最后!!)是,我可以重新映射正在使用的服务器方法的处理程序,而不是使用ASP.behavior_referrals_aspx处理程序吗?我一直在尝试 HttpContext.Current.RemapHandler(ASP.behavior_referrals_aspx); 的所有变化 - 使用强制转换等等,但所有内容都会回来并说名称<>在当前上下文中不存在。有一个我不知道的简单解决方案吗?或者是一个困难的人,甚至?