Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
c#自定义AssemblyResourceLoader_C#_Url Routing - Fatal编程技术网

c#自定义AssemblyResourceLoader

c#自定义AssemblyResourceLoader,c#,url-routing,C#,Url Routing,我自己路由所有请求,这让我陷入了WebResource.axd请求的问题,我想到的解决方案是修改AssemblyResourceLoader类的dot net框架代码,作为CustomAssemblyResourceLoader,并将其设置为处理WebResource.axd请求。我正在使用Lutz Roeders点网反射器访问框架代码 第一步是编译代码,我正在实现CustomAssemblyResourceLoader,如下所示(请注意,整个AssemblyResourceLoader目前只是

我自己路由所有请求,这让我陷入了WebResource.axd请求的问题,我想到的解决方案是修改AssemblyResourceLoader类的dot net框架代码,作为CustomAssemblyResourceLoader,并将其设置为处理WebResource.axd请求。我正在使用Lutz Roeders点网反射器访问框架代码

第一步是编译代码,我正在实现CustomAssemblyResourceLoader,如下所示(请注意,整个AssemblyResourceLoader目前只是CustomAssemblyResourceLoader中的复制粘贴):

我已经添加了所有必需的引用和名称空间,但仍然出现编译错误:

“System.Web.VirtualPath”是 由于它的保护而无法访问 水平仪

如果CustomAssemblyResourceLoader无法访问VirtualPath,那么AssemblyResourceLoader如何访问它。这个问题的解决方案是什么


谢谢。

因为VirtualPath标记为内部。只有System.Web.dll中的代码才能使用它。这肯定是个坏消息,没有合适的解决办法。

谢谢Hans的回复,这对我做出设计决策有很大帮助

。。。现在是装饰图案的时候了

愚蠢的M_软击败它;)

namespace System.Web.Handlers
{
    public sealed class CustomAssemblyResourceLoader : IHttpHandler
    {
        ...
        private static VirtualPath _smartNavPageLocation;
        ...