Tôi đang cố gắng đặt công tắc tương thích "Switch.System.Xml.IgnoreEmptyKeySequences" từ mục nhập trong tệp app.config (hoặc web.config) nhưng ghi đè xuất hiện bị bỏ qua. Để loại bỏ khả năng cấu hình kỳ lạ của dự án hiện tại của tôi, tôi đã tạo một dự án biểu mẫu Web 4.6 mới (và dự án thử nghiệm liên quan) trong VS2015..Net 4.6 AppContextSwitchOverrides không đặt công tắc được khai báo trong cấu hình
Tôi đang theo đúng hướng dẫn microsoft cho AppContext chuyển https://msdn.microsoft.com/en-us/library/mt298997(v=vs.110).aspx và https://msdn.microsoft.com/en-us/library/mt270286(v=vs.110).aspx
Các file app.config như sau:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<runtime>
<AppContextSwitchOverrides value="Switch.System.Xml.IgnoreEmptyKeySequences=true"/>
</runtime>
</configuration>
Mã Tôi đang sử dụng để đọc các giá trị là:
bool valueWasFound;
bool valueFromContext;
string switchString = "Switch.System.Xml.IgnoreEmptyKeySequences";
valueWasFound = AppContext.TryGetSwitch(switchString, out valueFromContext);
Và tôi luôn nhận được false
cho cả hai valueWasFound
và valueFromContext
.
Tôi đã thử điều này với các giá trị chuyển đổi khác có cùng kết quả.
Tôi thấy rằng nếu tôi đặt công tắc trong mã sử dụng
AppContext.SetSwitch("Switch.System.Xml.IgnoreEmptyKeySequences", true);
Sau đó, công tắc được thiết lập như mong đợi (ví dụ: tôi nhận được true
cho cả valueWasFound
và valueFromContext
).
Nhưng tôi sẽ rất thích thiết lập này trong App.Config/web.config
Bất kỳ ý tưởng về làm thế nào tôi có được điều này để làm việc sẽ được đánh giá rất nhiều.
Tôi nhìn thấy cùng một hành vi ở đây, nhưng với khóa _Switch.System.IdentityModel.DisableMultipleDNSEntriesInSANCertificate_. Đặt nó trong Web.config (ứng dụng IIS) được bỏ qua và 'TryGetSwitch' cho kết quả tương tự như bạn có, thiết lập nó trong mã xuất hiện để làm việc. – arfbtwn