2010-03-23 13 views
6

Tôi nhận được lỗi sau khi hệ thống tin rằng tệp web.config đang được sửa đổi. Tệp thực tế cho thấy không có thay đổi đối với ngày sửa đổi tệp web.config kể từ khi trang được xuất bản lần cuối. Vấn đề xuất hiện khi được chuyển hướng đến một trang khác, mặc dù các trang nơi sự cố xảy ra sẽ thay đổi và lỗi sẽ tồn tại đối với bất kỳ người dùng nào truy cập trang web. Vấn đề có thể được tạm thời giảm bớt bằng cách tái xuất bản ứng dụng, nhưng trong khoảng 24 giờ vấn đề sẽ trở lại. Bất kỳ ý tưởng nào tại sao nó cho rằng tệp đang thay đổi mặc dù nó không phải là?Tệp cấu hình đã bị thay đổi bởi một chương trình khác

Current User: NT AUTHORITY\NETWORK SERVICE Target Site: BaseConfigurationRecord.EvaluateOne Error: (System.Configuration.ConfigurationErrorsException) The configuration file has been changed by another program. (E:\PEC\web.config)

StackTrace: at System.Configuration.BaseConfigurationRecord.EvaluateOne(String[] keys, SectionInput input, Boolean isTrusted, FactoryRecord factoryRecord, SectionRecord sectionRecord, Object parentResult)
at System.Configuration.BaseConfigurationRecord.Evaluate(FactoryRecord factoryRecord, SectionRecord sectionRecord, Object parentResult, Boolean getLkg, Boolean getRuntimeObject, Object& result, Object& resultRuntimeObject) at System.Configuration.BaseConfigurationRecord.GetSectionRecursive(String configKey, Boolean getLkg, Boolean checkPermission, Boolean getRuntimeObject, Boolean requestIsHere, Object& result, Object& resultRuntimeObject) at System.Configuration.BaseConfigurationRecord.GetSection(String configKey) at System.Web.Configuration.RuntimeConfig.GetSectionObject(String sectionName) at System.Web.Configuration.RuntimeConfig.GetSection(String sectionName, Type type, ResultsIndex index) at System.Web.Configuration.RuntimeConfig.get_Authorization() at System.Web.Security.UrlAuthorizationModule.OnEnter(Object source, EventArgs eventArgs) at System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

+0

Bạn có hoạt động chống vi-rút không? –

+0

Tôi nhận được cùng một vấn đề theo thời gian là tốt, chống virus đang chạy trên máy chủ của chúng tôi. Tôi cũng khởi động lại hồ bơi ứng dụng của chúng tôi khi nó xảy ra mà sửa lỗi. Nhưng điều gì sẽ gây ra nó ngay từ đầu? –

Trả lời

1

Chúng tôi thấy vấn đề này là do hai ứng dụng khác nhau trong IIS được định cấu hình để trỏ đến cùng một thư mục - chúng tôi có www.mysite.com và preview.mysite.com; chúng tôi đã thiết lập bản xem trước bằng cách sử dụng msdeploy để sao chép trang web chính và không nhận ra rằng www.mysite.com/foo là một ứng dụng ảo IIS độc lập - vì vậy chúng tôi đã kết thúc với www.mysite.com/foo và preview.mysite. com/foo vừa trỏ đến cùng một thư mục và 'chiến đấu' mà một trong số chúng sở hữu tệp cấu hình, v.v.

Xóa ứng dụng ảo thứ hai đã khắc phục sự cố.

+0

Điều này có ý nghĩa –

0

Đối với tôi lỗi này đã có một dự án triển khai web với thay thế web cấu hình và một liên kết đến tập tin cấu hình bên ngoài trong web.config như:

Có vẻ như bạn chỉ có thể có một hoặc khác. Tôi đã viết một bài đăng blog trên đó: http://blog.coultard.com/2012/02/fix-for-web-deployment-project.html

0

Tôi đã trải nghiệm điều này trên một trang web mà tôi đang phát triển trong Visual Studio.

Tôi đã giải quyết được lỗi bằng cách xóa toàn bộ thư mục của trang web (đường dẫn vật lý), truy cập trang web thông qua trình duyệt, khôi phục trang web và cuối cùng xuất bản lại trang web từ Visual Studio.

Các vấn đề liên quan