ASP.NET 4.0 Webアプリケーションには、UpdatePanelでラップされたユーザーコントロールがあります(以下のコードを参照)。
<asp:UpdatePanel ID="UpdatePanel5" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<UC:MyCustomCtrl ID="customCtrl" runat="server" />
</ContentTemplate>
</asp:UpdatePanel>
明らかに、これは非同期で発生するため、ユーザーコントロールでポストバックを引き起こすすべてのASP.NETコントロールに最適です。ただし、これが機能しないプロセスが1つあります。
サーバーに非同期要求を行うユーザーコントロールにASP.NETボタン(レポートの作成)があります。次に、サーバーはExcelスプレッドシートを作成し、そのスプレッドシートをHttpResponseに配置して、クライアントのブラウザーに送り返し、クライアントが開いたり保存したりできるようにします。ただし、サーバーへの要求は非同期であり、非同期要求中にHttpResponseにバイナリを配置できないため、この時点で爆発します。
これを回避するにはどうすればよいですか?