0

我想在 ASP.NET(C# 4.0 经典网络表单)上结合我们的 Javascript 脚本。

我不能直接使用默认脚本组合,因为我们从数据库中提供一些 Javascript,所以我编写了一个自定义 HTTP 处理程序,它从我们的数据库和文件系统中提取来组合脚本。这一切都很好。

不过,我想做的是将 webresource.axd 文件包含在我的脚本组合中。但我不知道如何获得我应该在服务器端包含的 JS。

我从谷歌搜索中看到的所有结合示例代码的脚本都从服务器发出单独的 httprequest 以获取必要的 webresource javascript,但我觉得这会导致不必要的失败点,让服务进行额外的 web 调用。有谁知道如何加载 webresource.axd 正在使用的任何 dll 并直接询问它的 javascript,而不通过 HTTP 请求?

(即,给定 /WebResource.axd?d=ir4-Z9VuAfKFCpBYqwpW4UCZ5rikwuzHb4bm5jdsmLoOFF7uCN45KR_x8kqIYoSdVC6mbX9QXLmLqIWGjP0VgFKGVlY1&t=634407077185129362 之类的东西,我如何将其转换为 Javascript 文本,而不提出 http 请求?)

(我假设 ASP.NET 在这里做了一些花哨的事情,比如检测客户端浏览器类型或语言来为不同的浏览器提供不同的 JS。如果它像手动加载文件一次并将其缓存在我们的文件系统中一样简单,因为文件永远不会改变,那我会觉得很愚蠢,但请告诉我。)

4

1 回答 1

0

http://support.microsoft.com/kb/319292

Assembly.GetManifestResourceStream似乎是获取实际文本的答案,但我需要一个资源名称才能使用它。我知道如何从资源名称转到 webresource url ( page.ClientScript.GetWebResourceUrl),但我不知道如何朝另一个方向发展。需要重新架构以传递更高级别的信息,即资源名称而不是 url。

于 2012-06-19T18:07:57.330 回答