小编use*_*415的帖子

executionTimeout无法在asp.net mvc上运行

我尝试在web.config中为asp.net mvc应用程序设置executionTimeout.

<location path="Home/Index">
    <system.web>
      <httpRuntime  executionTimeout="5"/>
    </system.web>
  </location>
Run Code Online (Sandbox Code Playgroud)

任何在Index动作中使用Thread.sleep

public ActionResult Index()
        {
            Thread.Sleep(30000);            
            return View();
        }
Run Code Online (Sandbox Code Playgroud)

另外,我将complilation的调试设置为"false".在操作休眠约30秒后,"请求超时"异常不会抛出并且视图已成功呈现.

任何人都知道如何使executionTimeout在asp.net mvc中工作?

asp.net-mvc

9
推荐指数
2
解决办法
3386
查看次数

放置验证逻辑的位置?在服务或存储库?

我有一些这样的逻辑,在将库存保存到数据库之前,我将检查库存中是否存在相同的库存代码.我的问题是我应该在服务层或存储库层中放置逻辑.这里是示例代码:
选项1:放入服务层,我将IsAccountAlreadyExists方法放在服务层中

public override void Save(AccountInfo accountInfo)
{
    using (var scope = new TransactionScope())
    {
        if(this.IsAccountAlreadyExists(accountInfo))
        {
            throw new AccountAlreadyExistedException(
                "Account Code : " + accountInfo.AccountCode +
                " already existed.");
        }

        accountRepository.Save(accountInfo);
            scope.Complete();
    }
}
Run Code Online (Sandbox Code Playgroud)

选项2:我将把IsAccountAlreadyExists逻辑移动到存储库层.

public override void Save(AccountInfo accountInfo)
{
    try
    {
        using (var scope = new TransactionScope())
        {
            accountRepository.Save(accountInfo);
            scope.Complete();
        }
    }
    catch(AccountAlreadyExistedException e)
    {
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)

你怎么看?

c# service design-patterns repository

7
推荐指数
3
解决办法
4163
查看次数

如何在C#中处理特定的SQL异常(例如,唯一约束违规)?

我的问题是如何在c#中处理sql异常,无论如何都要检查从数据访问层抛出什么样的sql异常?例如,如果db抛出唯一约束异常或外键异常,有没有办法从c#中捕获它?您使用这些数据库异常的异常处理模式是什么?

c# exception

6
推荐指数
2
解决办法
2万
查看次数

asp.net mvc OnAuthorization和OnActionExecuting之间的区别

有人可以帮助解释asp.net mvc中OnAuthorization和OnActionExecuting之间的区别吗?

asp.net-mvc asp.net-mvc-3

4
推荐指数
1
解决办法
1727
查看次数

不要对TransactionScope使用"using"语句

我总是使用以下格式来使用transactionscope.

using(TransactionScope scope = new TransactionScope()){
  ....
}

有时我想将Transactionscope包装到一个新类,例如DbContext类,我想使用像这样的语句

dbContext.Begin();
...
dbContext.Submit();

似乎transactioncope类需要使用"using"语句来进行处理,我想知道是否还有使用"using".

c#

3
推荐指数
2
解决办法
4520
查看次数

C#:在哪里放"save()"方法?

我有一个问题,这里有一个示例
我有一个Model类:Stock


    public class Stock{
        //some properties, stock name, stock code;
        public String StockName{
            get,set
        }
        public String StockCode{
            get,set
        }
    }
Run Code Online (Sandbox Code Playgroud)

我还有一个服务类StockService,它将从数据库加载数据并创建库存并设置属性值.


    public class StockService:IStockService{
        public Stock CreateStockByStockCode(string stockCode){
            Stock stock = new Stock();
            //load the data from db and set the stock's properties.
            stock.StockName = ...
            stock.StockCode = ...
        }
    }
Run Code Online (Sandbox Code Playgroud)

所以,我的问题,我有一个"Save()"方法,我应该放在哪里,
Option1:把它放在Stock类中,


    public class Stock{
        public void Save(){
            //use the repository to save into db.
        }
    }
Run Code Online (Sandbox Code Playgroud)

Option2:把它放在服务类中


    public class StockService:IStockService{
        public void Save(Stock stock){
            //use the …
Run Code Online (Sandbox Code Playgroud)

c# oop methods

1
推荐指数
2
解决办法
589
查看次数