我正在考虑将更改添加到ASPX页面,将Async关键字添加到页面并通过Async调用Web方法的可能影响。
<%@ Page Language="C#" Trace="false" AutoEventWireup="true" Async="true" CodeFile="MyPage.aspx.cs" Inherits="MyPage" %>
将Web服务调用转换为使用Async时需要这样做 - 例如
using (MyService service = new MyService())
{
service.SayHelloAsync();
//result = service.SayHello();
}
我有两个问题 - 使用Async关键字是否会导致任何危险或导致不调用此Web服务的页面命中的任何问题?以这种提议的方式更改此服务呼叫是否安全,或者是否有更好的方法可以在您不需要知道它是否有效时基本触发并忘记这样的呼叫?
答案 0 :(得分:1)
您应该看一下 Scot Hanselman 中的这篇文章,它解释了如何在ASP.NET WebForms中使用async
:
The Magic of using Asynchronous Methods in ASP.NET 4.5 plus an important gotcha
编辑:
仅添加async
关键字允许您在页面中使用异步操作,利用新的async/await
进行IO绑定操作。这不会影响应用程序。你做的事情看起来很好。