.Net网站不能预编译以及不能请求的调试过程

简介: 公司内部的一个网站,Aspx的,最近莫名其妙的出现一个问题: file 'soLog.aspx' has not been pre-compiled,and cannot be requested.   这个问题只有在网站发布到服务器之后才会出现,本地一切正常,但不是每一个页面都有这一个问题...

公司内部的一个网站,Aspx的,最近莫名其妙的出现一个问题:

file 'soLog.aspx' has not been pre-compiled,and cannot be requested.

  这个问题只有在网站发布到服务器之后才会出现,本地一切正常,但不是每一个页面都有这一个问题,部分页面可以正常使用,于是把本地的网页重新编译之后再次发布到服务器,结果还是不行,一会儿是页面A有这个问题,一会儿是页面B有这个问题,网上都说是由于少了一些DLL文件或者是没有引用的缘故,可是我项目里面根本都没有用到什么第三方控件,都是MS自带的东西;于是我把服务器上面虚拟目录里面的Bin文件全部干掉,然后我重新发布项目,悲催的是问题依旧。

  仔细检查了服务器上面的虚拟目录,发现Bin里面有一些这样的文件“页面名称.aspx.cdcab7d2.compiled”,每一个页面对应这么一个文件,猜想应该是发布网站之后生成的编译文件,是不是这个文件引起异常的呢?不试一下也不知道,于是我在发布网站的时候勾选了“允许更新此编译站点”的选项,如下图:

然后重新编译,重新发布网站,依然是将服务器上面所有的Bin文件全部杀掉,发布之后发现没有aspx.cdcab7d2.compiled这种文件了,为了防止出现其它的异常,我把应用程序池重启了一下,刷新页面,意想不到的结果出来了----OK了。难道真的是这个原因吗?

  但是这样做也有问题,如果勾选了“允许更新此编译站点”的选项,那么发布的网站安全性非常差,除了所有的CS文件编译成为一个DLL文件之外,其它的文件和原来的没有任何变化,原来是什么现在就是什么,通过记事本打开可以看到里面的代码以及HTML代码等,我们可以将两个文件打开互相比较一下,

这个文件是以“不允许更新此编译站点”的方式发布之后的:

这个文件是以“允许更新此编译站点”的方式发布之后的:

 

  两者的区别显而易见,以“允许更新此编译站点”的方式发布之后网站的安全无法保障,另外效率也会比较低,虚拟目录里面的.aspx.cdcab7d2.compiled文件也都没有了,也就是没有预编译,没有预先生成,每次需要的时候临时编译页面,访问第一次会很慢,但是第二次...第三次...就很快了。但是我测试了很多次这种做法确实可以解决“file 'soLog.aspx' has not been pre-compiled,and cannot be requested.”的问题,这种方式确实有很多的隐患,偶尔临时用一下以解燃眉之急。

相关文章
|
4月前
|
API
【Azure 媒体服务】Media Service的编码示例 -- 创建缩略图子画面的.NET代码调试问题
【Azure 媒体服务】Media Service的编码示例 -- 创建缩略图子画面的.NET代码调试问题
|
4月前
|
开发框架 缓存 .NET
并发请求太多,服务器崩溃了?试试使用 ASP.NET Core Web API 操作筛选器对请求进行限流
并发请求太多,服务器崩溃了?试试使用 ASP.NET Core Web API 操作筛选器对请求进行限流
215 0
|
3月前
|
开发框架 .NET C#
VSCode开发.net项目时调试无效
【9月更文挑战第22天】在使用 VSCode 开发 .NET 项目时遇到调试问题,可从项目配置、调试配置、调试器安装、运行环境、日志和错误信息等方面排查。确认项目类型及文件配置,检查 `launch.json` 文件及配置项,确保调试器扩展已安装并启用,验证 .NET 运行时版本和环境变量,查看 VSCode 输出窗口和项目日志文件,检查权限及代码错误。若问题仍未解决,可查阅官方文档或社区论坛。
|
4月前
|
数据采集 JSON API
异步方法与HTTP请求:.NET中提高响应速度的实用技巧
本文探讨了在.NET环境下,如何通过异步方法和HTTP请求提高Web爬虫的响应速度和数据抓取效率。介绍了使用HttpClient结合async和await关键字实现异步HTTP请求,避免阻塞主线程,并通过设置代理IP、user-agent和cookie来优化爬虫性能。提供了代码示例,演示了如何集成这些技术以绕过目标网站的反爬机制,实现高效的数据抓取。最后,通过实例展示了如何应用这些技术获取API的JSON数据,强调了这些方法在提升爬虫性能和可靠性方面的重要性。
异步方法与HTTP请求:.NET中提高响应速度的实用技巧
|
2月前
|
API
使用`System.Net.WebClient`类发送HTTP请求来调用阿里云短信API
使用`System.Net.WebClient`类发送HTTP请求来调用阿里云短信API
28 0
|
3月前
|
自然语言处理 C# 图形学
使用dnSpyEx对.NET Core程序集进行反编译、编辑和调试
使用dnSpyEx对.NET Core程序集进行反编译、编辑和调试
|
4月前
|
数据采集 API 开发者
.NET 8新特性:使用ConfigurePrimaryHttpMessageHandler定制HTTP请求
在.NET 8中,通过`ConfigurePrimaryHttpMessageHandler`方法,开发者能更精细地控制HTTP请求,这对于构建高效爬虫尤为重要。此特性支持定制代理IP、管理Cookie与User-Agent,结合多线程技术,有效应对网络限制及提高数据采集效率。示例代码展示了如何设置代理服务器、模拟用户行为及并发请求,从而在遵守网站规则的同时,实现快速稳定的数据抓取。
.NET 8新特性:使用ConfigurePrimaryHttpMessageHandler定制HTTP请求
|
4月前
|
数据采集 开发框架 .NET
HttpClient在ASP.NET Core中的最佳实践:实现高效的HTTP请求
在现代Web开发中,高效可靠的HTTP请求对应用性能至关重要。ASP.NET Core提供的`HttpClient`是进行这类请求的强大工具。本文探讨其最佳实践,包括全局复用`HttpClient`实例以避免性能问题,通过依赖注入配置预设头部信息;使用代理IP以防IP被限制;设置合理的`User-Agent`和`Cookie`来模拟真实用户行为,提高请求成功率。通过这些策略,可显著增强爬虫或应用的稳定性和效率。
105 0
HttpClient在ASP.NET Core中的最佳实践:实现高效的HTTP请求
|
5月前
|
Linux C# iOS开发
如何用 WinDbg 调试Linux上的 .NET程序
【7月更文挑战第13天】 1. `dotnet-dump`: Collects process dumps with `dotnet-dump collect -p <process_id>`. 2. `lldb`: Debugs Mono runtime apps on macOS/Linux. 3. **Visual Studio Code**: Remotely debugs .NET via the C# extension. 4. **JetBrains Rider**: Supports remote debugging of .NET on Linux.
|
4月前
.NET Core 在其上下文中,该请求的地址无效。
.NET Core 在其上下文中,该请求的地址无效。
38 0