多くのソフトウェアアーキテクチャの書籍では、(API)コントローラコードにビジネスロジックを入れないことをお勧めします。コントローラコードが現在Serviceクラスまたはファサードを介してビジネスロジックにアクセスしているなど、適切な方法で実装すると仮定すると、フロントドアを通過するのではなく、その目的のために同じサービスクラス/ファサードを再利用することをお勧めします'(その背後にあるコードからJSON呼び出しを行うことによって)基本とnaieve例えば
:
public class MyController1: ApiController {
public string CreateFile() {
var appService = new AppService();
var result = appService.CreateFile();
return result;
}
}
public class MyController2: ApiController {
public string CreateFile() {
var appService = new AppService();
var result = appService.CreateFile();
return result;
}
}
AppServiceクラスは、ビジネスロジックをカプセル化(および他の層の上に住んでん)とのあなたのためにそれが容易になりますあなたのロジックにアクセスしてください:
public class AppService: IAppService {
public string MyBusinessLogic1Method() {
....
return result;
}
public string CreateFile() {
using (var writer = new StreamWriter..blah die blah {
.....
return 'whatever result';
}
}
...
}
あなたは "コードビハインド" とはどういう意味ですか? – SLaks
@SLaks asp:ボタンがあるとします。クリックイベント(サーバー側/コードビハインド)では、いくつかのことをしてからWeb APIアクション(createfile)を呼びたいと思います。私ははっきりしていると思う。 – Rivka
私のコード例を確認してください。おそらくちょっと素朴で基本的ですが、それはあなたのためだけです。 –