私は、ASP.netプロジェクトのいくつかのアプリケーション設定を保存するためにProperties.Settingsを使うことに決めました。しかし、データを変更しようとすると、エラーが発生します。これは私の以前のC#プロジェクトではこの問題が発生していないため、変更するために何をすべきかわからないため、エラーThe property 'Properties.Settings.Test' has no setter
が発生します。ここでProperties.Settingsにセッターがありません
9
A
答えて
17
私の推測では、User
スコープではなく、Application
スコープでプロパティを定義したと思います。アプリケーションレベルのプロパティは読み取り専用で、web.config
ファイルでのみ編集できます。
私はSettings
クラスをASP.NETプロジェクトで使用しません。 web.config
ファイルに書き込むと、ASP.NET/IISはAppDomainをリサイクルします。定期的に設定を書き込む場合は、他の設定ストア(独自のXMLファイルなど)を使用する必要があります。
-1
: http://msdn.microsoft.com/en-us/library/bb397755.aspx
はあなたの問題の解決策です。
2
Eli Arbelはすでに、アプリケーションコードからweb.configで書かれた値を変更することはできないと述べています。これは手動でのみ行うことができますが、アプリケーションが再起動します。これは望ましくないものです。
ここでは、値を格納して読みやすく、変更するのに使用できるシンプルなクラスがあります。 XMLやデータベースから読んでいる場合や、変更された値を永続的に保存するかどうかによって、必要に応じてコードを更新してください。問題ではありません
public class Config
{
public int SomeSetting
{
get
{
if (HttpContext.Current.Application["SomeSetting"] == null)
{
//this is where you set the default value
HttpContext.Current.Application["SomeSetting"] = 4;
}
return Convert.ToInt32(HttpContext.Current.Application["SomeSetting"]);
}
set
{
//If needed add code that stores this value permanently in XML file or database or some other place
HttpContext.Current.Application["SomeSetting"] = value;
}
}
public DateTime SomeOtherSetting
{
get
{
if (HttpContext.Current.Application["SomeOtherSetting"] == null)
{
//this is where you set the default value
HttpContext.Current.Application["SomeOtherSetting"] = DateTime.Now;
}
return Convert.ToDateTime(HttpContext.Current.Application["SomeOtherSetting"]);
}
set
{
//If needed add code that stores this value permanently in XML file or database or some other place
HttpContext.Current.Application["SomeOtherSetting"] = value;
}
}
}
関連する問題
- 1. 私はロンボクプロジェクトを使用しますが、ゲッターとセッターにはJavaDocがありません
- 2. Java setterメソッドの規約(セッターをオーバーロードするのは問題ありません)
- 3. Microsoft.Build.Taskがありません
- 4. パスワードチェックがありません
- 5. System.Windowsがありません
- 6. ナビゲーションバーがありません
- 7. タブバーコントローラータブタイトルがありません
- 8. メニューディレクトリがありません
- 9. freeglut.dllがありません
- 10. ストーリーボードファイルがありません
- 11. webrat_steps.rbがありません
- 12. vtkFiltering.dllがありません
- 13. マスターテーブルノードがありません
- 14. MSVCR90D.dllがありません
- 15. テンプレートがありません
- 16. ロードプラグインがありません
- 17. ファイルがありません
- 18. C#Properties.Settings
- 19. セッターは働いていません
- 20. 'datetime.time'に 'mktime'がありません
- 21. JSONに親タグがありません
- 22. オブジェクトにはエラーがありません
- 23. 要求がコンテキストにありません
- 24. ASP.eventtracker_aspx 'に定義がありません
- 25. コマンドリストにAseBulkCopyがありません
- 26. InstancePromotedPropertiesテーブルにデータがありません
- 27. WF4アクティビティにIdがありません
- 28. 'classobj'オブジェクトにサブスクリプトがありません
- 29. URLファイルにリソースファイルがありません
- 30. コンソールに出力がありません
は、私の問題は、 'Settings.Default.LastPayNumber + = 1;' '彼はASPでの' – ChaoticLoki
「プロパティ 『Properties.Settings.LastPayNumnerは』はセッターを持っていない」と言います.NET Webサイト。あなたのリンクは適用されません。 –