Mono aspx 错误 500:System.Web.Security.FileAuthorizationModule.Init 未实现

Mono aspx 错误 500:System.Web.Security.FileAuthorizationModule.Init 未实现

我有一个 CentOS 7 VM,其中安装了所有 httpd / mysql 包等。我想运行一个名为 SmarterTrack 的票务系统,它是用 ASPX 构建的。查找了所有内容并安装了我在互联网上找到的必要包(mono server 和 xsp)。

现在一切似乎运行良好(mono 服务器正在运行等)但是当我访问网站时出现错误 500:

System.NotImplementedException
The method or operation is not implemented.

Description: HTTP 500.Error processing request.

Details: Non-web exception. Exception origin (name of application or object): System.Web.
Exception stack trace:
  at System.Web.Security.FileAuthorizationModule.Init (System.Web.HttpApplication app) [0x00000] in /builddir/build/BUILD/mono-4.2.1/mcs/class/System.Web/System.Web.Security/FileAuthorizationModule.cs:51 
  at System.Web.Configuration.HttpModulesSection.LoadModules (System.Web.HttpApplication app) [0x00052] in /builddir/build/BUILD/mono-4.2.1/mcs/class/System.Web/System.Web.Configuration_2.0/HttpModulesSection.cs:82 
  at System.Web.HttpApplication.InitOnce (Boolean full_init) [0x000a4] in /builddir/build/BUILD/mono-4.2.1/mcs/class/System.Web/System.Web/HttpApplication.cs:216

在我的 httpd 错误日志中我看到了以下内容:

Listening on: /tmp/mod_mono_server_testing.mydomain.com
Root directory: /var/www/clients/client1/web9/web/
Exception while initOnce: System.NotImplementedException: The method or operation is not implemented.
  at System.Web.Security.FileAuthorizationModule.Init (System.Web.HttpApplication app) [0x00000] in /builddir/build/BUILD/mono-4.2.1/mcs/class/System.Web/System.Web.Security/FileAuthorizationModule.cs:51
  at System.Web.Configuration.HttpModulesSection.LoadModules (System.Web.HttpApplication app) [0x00052] in /builddir/build/BUILD/mono-4.2.1/mcs/class/System.Web/System.Web.Configuration_2.0/HttpModulesSection.cs:82
  at System.Web.HttpApplication.InitOnce (Boolean full_init) [0x000a4] in /builddir/build/BUILD/mono-4.2.1/mcs/class/System.Web/System.Web/HttpApplication.cs:216
Please restart your app to unlock it

这可能是什么问题?

答案1

不幸的是,Mono 没有实现(System.Web.Security)文件授权模块。正如您在链接的内容中看到的,该类只是作为存根存在,因此针对它的编译有效,但它无法在运行时正常运行。

在微软发布采用 MIT 许可证的 .NET 源代码后,你可以认为 Mono 可以采用此类的referencesource来源,但是目前这是不可能的,因为该类在底层使用了 UnsafeNativeMethods 类,这暗示它使用了非跨平台方法(但是 Mono 应该保持与非 Windows 平台兼容)。

相关内容