问题标签 [virtualpathprovider]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
184 浏览

c# - VirtualPathProvider 将看不到请求,因为 * 文件类型处理程序未在 asp.net 开发服务器上设置

我正在使用 VirtualPathProvider 来提供来自 .dll(插件)的一些资源。在 IIS 中,可以将 ASP.NET ISAPI 过滤器的文件类型过滤器更改为“*”。我怎样才能对 Visual Studio 附带的 ASP.NET 开发服务器做同样的事情?

提前干杯!

0 投票
1 回答
421 浏览

asp.net - asp.net VirtualPathProvider - 不再识别物理文件

我正在使用 VirtualPathProvider 从数据库表中返回虚拟页面,一切正常,但问题是该站点不再识别页面何时物理存在而不是保存在虚拟页面表中。

当函数 FileExists 返回 false 页面加载失败并且“找不到资源”时,我正在使用的代码在页面加载下方。

如何解决这个问题的任何提示都会很棒!谢谢

0 投票
1 回答
1438 浏览

asp.net - asp.net VirtualPathProvider - 使用 GetCacheDependancy 清除缓存问题

VirtualPathProvider用来从 SQL Server 表返回虚拟页面。这是工作 pk,我的VirtualPathProvider类文件中的代码如下。

我遇到的问题是,当我更改数据库中保存的虚拟页面数据(标题或页面文本)时,此更改不会显示在输出的页面上,因为原始页面已被缓存。

我已经阅读了一些关于将 GetCacheDependancy 添加到 VirtualPathProvider 类的文章,并且我尝试实现了几个示例,但原始页面仍然被缓存和显示。

我还尝试在虚拟页面 ( Response.AddCacheItemDependency("Pages")) 的页面加载中添加一些代码并编辑 global.asax:

以防止缓存。但没什么用。

所以我要通过 VirtualPathProvider 类文件进行一些更改,以防止这些缓存问题。谢谢你尽你所能的帮助!

0 投票
1 回答
298 浏览

asp.net-mvc-3 - 使用虚拟路径提供程序从云服务加载视图?

是否可以使用虚拟路径提供程序从云服务加载视图?例如,如果我有一个位于http://www.example.com/ui下的站点管理员 ui ,我想从云中加载视图。

0 投票
1 回答
232 浏览

asp.net - 内容页面的 VirtualPathProvider 问题

我有一个适用于 asp.net 页面的 VirtualPathProvider。它在运行时编译并运行良好。但是,当我尝试打开一个包含 asp:Content 标签的页面时,我总是得到:

仅允许直接在包含内容控件的内容页面中使用内容控件。

换句话说,当我使用内容页面时,VPP 不起作用。我使用物理母版页和 VPP 提供的母版页进行了测试,在所有测试中,结果都是相同的。

有人有同样的问题吗?我可以做些什么来让 VPP 开始使用内容页面?

0 投票
1 回答
604 浏览

asp.net-mvc-3 - 从自定义 VirtualPathProvider(ASHX 源)加载剃刀视图时的奇怪行为

当我通过我的自定义 VirtualPathProvider 加载数据时,我得到了一些奇怪的行为。值得一提的是,我正在尝试将此视图用作布局。

我还实现了一个自定义(虚拟)CacheDependency

现在有两件事不起作用。首先,所有加载的视图都被缓存,其次,文件内的代码(@Html.ActionLink ...等)不起作用,它只是给出一个错误“缺少程序集”。

有谁知道如何解决这两个问题?

已经有第二个问题(链接)的解决方案,但是我真的不明白如何在 FileExists 方法中解决这个问题。

谢谢!

更新:错误消息的图像 在此处输入图像描述

0 投票
2 回答
590 浏览

c# - ASP.net UserControl 和 AppDomain TypeResolve

我正在使用 VirtualPathProvider 来包含在编译时不可用的用户控件。除了对实际包含控件的 dll 的引用之外,一切都正常工作。

当调用具有控件的页面时,它找不到控件类型,除非我将 dll 放在 bin 文件夹中。

错误:解析器错误描述:解析服务此请求所需的资源期间发生错误。请查看以下特定的解析错误详细信息并适当地修改您的源文件。

解析器错误消息:无法加载类型“App.Modules.ModuleA.Controls.Entity1Item”。

源错误:

第 1 行:<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="Entity1Item.ascx.cs" Inherits="App.Modules.ModuleA.Controls.Entity1Item" %>

我尝试处理所有重要的 AppDomain 事件(AssemblyResolve、TypeResolve 和 ReflectionOnlyAssemblyResolve),但我的类型没有调用。

我在 TypeResolve 文档中看到,只要执行 Type.GetType 并且找不到类型,就会调用它。似乎 ASCX 在需要它的类型时没有触发事件......为什么?

谢谢!亚历克斯

0 投票
1 回答
3258 浏览

asp.net - 带有静态文件问题的 ASP.NET VirtualPathProvider

我在 Windows 7 上运行 IIS 7.5。我的 ASP .NET 应用程序使用 VirtualPathProvider。大多数文件(aspx 页面)都由我的 VirtualPathProvider 返回和呈现。静态文件(css/图像)不是。如果我尝试直接浏览它们(或者如果它们被我的虚拟 aspx 页面引用),它们会产生 HTTP 404 错误

我已验证我的 web.config 已为静态文件类型注册了正确的处理程序。

奇怪的是:

  1. 如果我尝试浏览到非虚拟 gif 文件(实际存在于网站根目录下的文件系统中的文件),它会呈现良好。

  2. 如果我在 Visual Studio 中使用 WebDev 而不是 IIS 运行,则虚拟 gif 文件呈现良好。

  3. 在调试模式下,在VirtualPathProvider.GetFile页面返回 404 错误之前,我可以看到我的 VirtualPathProvider 返回了我的虚拟 gif 文件的一个完全有效的实例......所以我知道我的 VirtualPathProvider 工作得很好。

注意,当我说 IIS 时,我并不是指在已部署的环境中。我的意思是切换项目设置以使用 IIS 而不是 WebDev。

有任何想法吗?

谢谢。

0 投票
1 回答
1043 浏览

iis-7 - VirtualPathProvider 在托管环境中不起作用

我的 .Net 项目在本地 IIS7(Windows 7 IIS7 x86)上运行良好。但它不适用于托管环境(W2008 Server x64 IIS7)。我可以完全控制托管环境。但我找不到错误。在本地工作时,我可以通过 VirtualPathProvider 访问 DLL 中的用户控件,但我收到错误

文件“/TarimWeb/TarisApp/TarisUI/CariBanka.ascx”不存在。

关于托管环境。

我可以提供任何信息,但我不知道我的助手需要知道什么。

谢谢!

0 投票
1 回答
225 浏览

asp.net-mvc - 能否重新配置 MVC 路由解析机制?

我已经实现了自定义 VirtualPathProvider 以从数据库中提供可自定义的视图,当我在 FileExists 方法上放置一个断点时,我注意到该框架执行了大量不必要的(对于我的项目)请求。例如,当我请求不存在的操作(例如http://localhost/Example/Action)时,框架会查找:

  • “~/示例/动作/5”
  • “~/Example/Action/5.cshtml”
  • “~/Example/Action/5.vbhtml”
  • “~/Example/Action.cshtml”
  • “~/Example/Action.vbhtml”
  • “~/Example.cshtml”
  • “~/Example.vbhtml”
  • “~/Example/Action/5/default.cshtml”
  • “~/Example/Action/5/default.vbhtml”
  • “~/Example/Action/5/index.cshtml”
  • “~/Example/Action/5/index.vbhtml”
  • “~/favicon.ico”
  • “~/favicon.ico.cshtml”
  • “~/favicon.ico.vb​​html”
  • “~/favicon.ico/default.cshtml”
  • “~/favicon.ico/default.vbhtml”
  • “~/favicon.ico/index.cshtml”
  • “~/favicon.ico/index.vbhtml”

当我发出与添加的路由匹配的请求(例如http://localhost/Test)时,框架会查找:

  • “~/测试”
  • “~/Test.cshtml”
  • “~/Test.vbhtml”
  • “~/Test/default.cshtml”
  • “~/Test/default.vbhtml”
  • “~/Test/index.cshtml”
  • “~/Test/index.vbhtml”

甚至在初始化控制器之前。初始化控制器后,框架会查找我已实现的自定义 RazorViewEngine 中定义的视图。

这是我的视图引擎

所以问题是这些默认路由可以被删除吗?如何删除?