私が達成したいのは:
- エンティティ フレームワークを使用して、データベースに接続された中央サーバー
- 何らかの理由でデータベースにアクセスできないが、要求を中央サーバーに転送するサーバー (すべてのサーバーがデータベースを必要としているわけではありません)
- 一部の httpclients は、中央サーバーにもデータベースにも到達できず、中間サーバーにしか到達できません
コントローラーメソッドを変更して、中央サーバーへの再試行をやり直すhttpクライアントを作成することに成功しましたが、特にコントローラーとメソッドがたくさんあるため、これは私にとって最悪の方法のようです
public User GetUser(int id)
{
if (Properties.Settings.Default.SyncEnabled)
{
System.Net.Http.HttpClient httpClient = new System.Net.Http.HttpClient();
httpClient.BaseAddress = Properties.Settings.Default.SyncAddress;
var result = httpClient.GetAsync(this.Request.Url.PathAndQuery).Result;
return this.Content(result.Content.ReadAsStringAsync().Result, result.Content.Headers.ContentType.MediaType);
}
else
{
User user = DbContext.Users.Find(id);
user.LastOnline = DateTime.Now;
DbContext.SaveChanges();
return user;
}
}
登録ルートの使用を考えていましたが、ルートがどのように機能するかを読む前に、それが良いアイデアかどうか知りたいです...どのように実装するかにも興味があります。