asp.net – 在MVC5应用程序中使用OWIN软件包的好处
|
我正在努力了解OWIN和Katana ..可以肯定的是,应用程序可以是自托管的,也可以在Nancy或非IIS上托管.这个问题的原因是我们想使用MVC5(VS 2013)创建一个Web应用程序,该应用程序将在 Windows Azure中的IIS上托管. 但是,我们收到了在mvc5应用程序中使用OWIN中间件组件/包的建议,以获得可插拔架构,性能等的优点. 如果我们在Windows Azure中的IIS上托管的MVC5应用程序中使用OWIN中间件,我想了解如何获得性能提升.我的应用程序会使用owin中间件软件包在IIS管道中跳过许多不必要的事情吗?在IIS上托管的时候,使用OWIN在MVC5中有什么其他好处吗? 解决方法是的,您可能会跳过很多不必要的事情,因为您将在管道中定义组件,以及使用您的应用程序将使用的不一定由您制定的其他组件.这些组件是中间件,因为它们位于处理流水线的中间,组件可以决定通过async / await C#语法将控制权传递给流水线中的下一个组件,或者结束该组件的处理.AppGroup对象是Katana发生“魔术”的地方,因为它是调用组件使用的逻辑,签名是这样的: Func<IDictionary<string,object>,Task>;
组件的一个例子将是一个匹配AppFunc的签名的方法(它是Func< IDictionary< string,Task>,像这样: public async Task Invoke(IDictionary<string,object> environment)
{
// Do processing...
// Wait for next component to complete
await _nextComponent(environment);
// Do more processing...
}
那么你怎么知道下一个组件是什么呢? 您的组件的构造函数需要接受Func< IDictionary< string,Task>的参数,如下所示: public class HelloWorldCOmponent
{
Func<IDictionary<string,Task> _next;
public HelloWorldComponent(Func<IDictionary<string,Task> next)
{
_next = next;
}
public async Task Invoke(IDictionary<string,object> environment)
{
// Do something
// Wait for next component to return
await _next(environment);
}
} (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc-2 – 如何防止IIS7处理HTTP状态码401?
- .net-4.0 – 从自定义IHttpHandler调用MvcHttpHandler.Exec
- asp.net – IIS 7的最大默认POST请求大小 – 如何增加64kB
- asp.net – 如何将网页添加到gridview
- asp.net-mvc – 使用ASP.NET MVC进行消防和遗忘
- asp.net-mvc – ActionResult上的自定义属性
- asp.net – 如何防止开放重定向攻击?
- 使用asp.net中的web api通过http进行身份验证
- asp.net – 我可以同时拥有Controller和ApiController吗?
- asp.net-mvc – 将Elmah与WebApi一起使用时会记录两次错误
- asp.net-mvc – 为什么在ASP.NET MVC中使用lambd
- asp.net – 如何从ReSharper中删除“使用目录”消
- asp.net-mvc – 如何将复选框绑定到视图模型的Li
- asp.net – web.config转换中的匹配元素名称
- 如何保持我的ASP.NET应用程序始终“活着”,如果它
- asp.net-mvc-2 – 如何设置RadioButtonFor()在AS
- asp.net-mvc-3 – Glimpse.axd 403ing在IIS上
- ASP.NET窗体身份验证和“无身份验证”子文件夹
- asp.net-mvc – @ Html.ValidationSummary(true)
- asp.net – 我可以通过div onclick事件调用函数后
