System.Security.SecurityException: Requested registry access is not allowed.
残念ながら、これを難しくするいくつかのことがあります。 web.configファイルにdebug = "true"属性を追加して、例外が発生した行を取得しました。私のコードで識別された行が終了する場合で、コードが直前に良性のようだ:私はタフな私を助けることができる
<body id="body" runat="server">
<div class="conteneur-confirmation">
<%
If Not Session("confirmation") Is Nothing Then
Response.Write("<ul><li>" & Session("confirmation") & "</li></ul>")
Session.Remove("confirmation")
End If
%>
</div>
<div class="conteneur-alerte">
<%
If Not Session("Alerte") Is Nothing Then
Response.Write("<ul><li>" & Session("Alerte") & "</li></ul>")
Session.Remove("Alerte")
End If <!-- The exception is supposedly launch from here -->
%>
<!-- more code -->
次のことは、スタックトレースです。ここでは、次のとおりです。System.TimeZoneInfo.TryCompareTimeZoneInformationToRegistryは、レジストリとasp.netのアイデンティティ、IWAM_MACHINENAMEにアクセスしようとすると、それは例外のように見える
[SecurityException: Accès au registre demandé non autorisé.]
System.ThrowHelper.ThrowSecurityException(ExceptionResource resource) +52
Microsoft.Win32.RegistryKey.InternalOpenSubKey(String name, RegistryKeyPermissionCheck permissionCheck, Int32 rights) +9434757
Microsoft.Win32.RegistryKey.OpenSubKey(String name, RegistryKeyPermissionCheck permissionCheck, RegistryRights rights) +15
System.TimeZoneInfo.TryCompareTimeZoneInformationToRegistry(TimeZoneInformation timeZone, String id, Boolean& dstDisabled) +234
System.TimeZoneInfo.FindIdFromTimeZoneInformation(TimeZoneInformation timeZone, Boolean& dstDisabled) +258
System.TimeZoneInfo.GetLocalTimeZone() +307
System.TimeZoneInfo.get_Local() +116
System.DateTime.ToLocalTime() +60
System.IO.File.GetLastWriteTime(String path) +34
System.Web.Handlers.AssemblyResourceLoader.GetAssemblyInfoWithAssertInternal(Assembly assembly) +93
System.Web.Handlers.AssemblyResourceLoader.GetAssemblyInfo(Assembly assembly) +67
System.Web.Handlers.AssemblyResourceLoader.GetWebResourceUrlInternal(Assembly assembly, String resourceName, Boolean htmlEncoded, Boolean forSubstitution, IScriptManager scriptManager) +1159
System.Web.Handlers.AssemblyResourceLoader.GetWebResourceUrl(Type type, String resourceName, Boolean htmlEncoded, IScriptManager scriptManager) +722
System.Web.UI.ClientScriptManager.GetWebResourceUrl(Page owner, Type type, String resourceName, Boolean htmlEncoded, IScriptManager scriptManager) +167
System.Web.UI.ClientScriptManager.RenderWebFormsScript(HtmlTextWriter writer) +158
System.Web.UI.Page.RenderWebFormsScript(HtmlTextWriter writer) +58
System.Web.UI.Page.BeginFormRender(HtmlTextWriter writer, String formUniqueID) +8910479
System.Web.UI.HtmlControls.HtmlForm.RenderChildren(HtmlTextWriter writer) +57
System.Web.UI.HtmlControls.HtmlContainerControl.Render(HtmlTextWriter writer) +31
System.Web.UI.HtmlControls.HtmlForm.Render(HtmlTextWriter output) +53
System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +27
System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) +100
System.Web.UI.HtmlControls.HtmlForm.RenderControl(HtmlTextWriter writer) +40
ASP.masters_sigiweb2_master.__Renderbody(HtmlTextWriter __w, Control parameterContainer) in C:\Inetpub\v3\Masters\sigiweb2.master:96
System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +109
System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) +8
System.Web.UI.HtmlControls.HtmlContainerControl.Render(HtmlTextWriter writer) +31
System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +27
System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) +100
System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +25
System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +208
System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) +8
System.Web.UI.Control.Render(HtmlTextWriter writer) +10
System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +27
System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) +100
System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +25
System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +208
System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) +8
System.Web.UI.Page.Render(HtmlTextWriter writer) +29
System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +27
System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) +100
System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +25
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +8431
System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +253
System.Web.UI.Page.ProcessRequest() +78
System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext context) +21
System.Web.UI.Page.ProcessRequest(HttpContext context) +49
ASP.default_aspx.ProcessRequest(HttpContext context) +37
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +100
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +75
が起動され、権限を持っていません。私は、Windowsのアップデートの1つが、いくつかのレジストリキーまたはこの機能の動作を変更したと考えています。私は "TryCompareTimeZoneInformationToRegistry"のためにウェブ上で検索しました。他の誰かが私と同じエラーを抱えていると思っていました。しかし、Googleはこの機能に関連して2ページしか返していません。両方ともイタリア語で書かれています。
解決策は、単にレジストリの一部のアクセス権を変更することだと思いますが、私にはわからないし、Web上のこの機能に関する情報はほとんどないようです。 。
私のサーバーはフランス語版のWindows Server 2003であると付け加えたいと思います。インターネット上で私が見つけた唯一の他の情報がイタリア語であるという事実は、それがWindowsの英語版では発生しませんが、これは確認できません。
ありがとうございました。
ご協力いただきありがとうございます。私はすでにアンチウィルスを無効にしようとしましたが、それは事を変えませんでした。私は管理者権限でasp.netプロセスを実行しようとしましたが、それはうまくいきました(私はそれが大きなセキュリティ上のリスクであることを知っています、私は本当にアクセス権の問題であるという私の仮説をテストしていました)。 –
この時点で、私の手を捨てて、「Process Monitorを置く」と言ってください。 PMは本質的には "フルボディスキャン"で、データのヒープを調べることができますが、エラーの原因となるレジストリアクセスの特定の拒否になります。それはあなたにもう少し情報を与えるかもしれません...あなたのプロセスが持っているアイデンティティはあなたが何らかの理由で考えるものではない可能性があります。プロセスモニタはhttp://technet.microsoft.com/en-us/sysinternals/bb896645にあります。 –
私はプロセスモニターについて知りませんでした。それは私のデバッグの武器のもう一つの強力なツールになるようです。私はHKLM \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ TimeZones \ Bangladesh Standard Timeの自動化がプロセスがアクセスできないキーであることを知りました。Everyoneがそうしなければならない間、管理者だけが権利を持っていたことが分かります(すべてのタイムゾーンキーの場合と同様です)。 –