加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-web-api – Katana / OWIN Debugging&app.UseErr

发布时间:2020-12-16 06:27:17 所属栏目:asp.Net 来源:网络整理
导读:我有时间做R D并且到目前为止一直在玩OWIN. 我想为所有数据交互运行一个OWIN WebAPI服务, 和一个单独的Web前端SPA项目利用角度. 所有代码都是从各种随机博客帖子中无耻地窃取的,它只是为了掌握这种“新技术”. 启动 public class Startup { public void Conf
我有时间做R& D并且到目前为止一直在玩OWIN.

我想为所有数据交互运行一个OWIN WebAPI服务,
和一个单独的Web前端SPA项目利用角度.

所有代码都是从各种随机博客帖子中无耻地窃取的,它只是为了掌握这种“新技术”.

启动

public class Startup
    {
        public void Configuration(IAppBuilder app)
        {
#if DEBUG
            app.UseErrorPage();
#endif

            app.UseWelcomePage("/");
            // Configure Web API for self-host. 
            HttpConfiguration config = new HttpConfiguration();
            config.Routes.MapHttpRoute(
                name: "DefaultApi",routeTemplate: "api/{controller}/{id}",defaults: new { id = RouteParameter.Optional }
            );

            app.UseWebApi(config);  

            app.Run(context =>
            {
                if (context.Request.Path.ToString() == "/fail")
                {
                    throw new Exception("Random exception");
                }

                context.Response.ContentType = "text/plain";
                return context.Response.WriteAsync("App Init");
            });
        }
    }

AccountsController

public class AccountsController : ApiController
{   
    // GET api/<controller>/5
    public string Get(int id)
    {
        throw new Exception("Random exception");
    }
}

如果我导航到
?[http:// localhost:85 / fail]我得到一个非常性感的错误页面.

但是当我点击[http:// l0calhost:85 / api / accounts / 5]时,错误被公开为json / xml.

>是否有任何方法可以强制API控制器异常使用AppBuilder错误机制?
>这会不受欢迎吗? (感觉有点脏……)

解决方法

目前(版本5.0)Web API没有办法强制其中发生的异常在管道中进一步传播.您已经注意到它当前将异常转换为具有json / xml内容的http响应消息.但是在即将发布的版本中,我们将提供此功能作为我们的全局错误处理功能的一部分,您可以在其中插入错误处理机制.

IMO看到Web API错误的错误页面并不是很有用.如果您的客户端是进行这些调用的Javascript,那么该html应该如何显示?此外,目前浏览器具有良好的调试支持,您可以在其中跟踪调用并从响应中找出问题.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读