例如,我们在asp.net中的代码形式代码隐藏:
private void btnSendEmails_OnClick()
{
Send100000EmailsAndWaitForReplies();
}
Run Code Online (Sandbox Code Playgroud)
此代码执行将被超时原因终止.为了解决这个问题,我希望看到这样的事情:
private void btnSendEmails_OnClick()
{
var taskId = AsyncTask.Run( () => Send100000EmailsAndWaitForReplies() );
// Store taskId for future task execution status checking.
}
Run Code Online (Sandbox Code Playgroud)
并且这个方法将在特殊的环境中以某种方式在w3wp.exe进程之外执行.
有没有人知道用于解决此类问题的框架/工具集?
更新:电子邮件发送方法只是我的意思的一个例子.事实上,我可能需要在asp.net工作流程之外执行许多功能.
例如,对于聚合来自几个第三方服务的数据,对其执行某些操作并将其发送回另一个服务的应用程序而言,这一点非常重要.
说我需要一些非常特殊的乘法运算符.它可以在以下宏中实现:
macro @<<!(op1, op2)
{
<[ ( $op1 * $op2 ) ]>
}
Run Code Online (Sandbox Code Playgroud)
我可以像使用它一样
def val = 2 <<! 3
Run Code Online (Sandbox Code Playgroud)
它的工作.
但我真正想要的是现在正在开发的DSL Im的"英语"操作员:
macro @multiply(op1, op2)
{
<[ ( $op1 * $op2 ) ]>
}
Run Code Online (Sandbox Code Playgroud)
如果我试着像它一样使用它
def val = 2 multiply 3
Run Code Online (Sandbox Code Playgroud)
编译器因'expected;'而失败 错误
问题是什么?如何实现这个中缀格式宏?