我正在开发一个包含FileSystemWatcher的Windows服务。文件创建后,我必须对Web API进行一些网络调用。
请查看下面的代码行。
watcher.Created += new FileSystemEventHandler((object source, FileSystemEventArgs e) => { ProcessCreateEvent(e); });
事件处理程序
private async void ProcessCreateEvent(FileSystemEventArgs e){
// make some network calls and do certain tasks
// network calls doing asynchronously
}
我深入了解了FileSystemWatcher,我理解在ProcessCreateEvent方法中处理网络调用并不是一个好习惯。那么如何为每个文件更改分配单独的线程?
答案 0 :(得分:0)
我认为可以简单地通过使.widthind{
width: 30px;
height: 30px;
background-color: black;
color: white;
}
form {
margin: 0;
padding: 0;
display: -webkit-inline-box;
}
像这样异步来完成:
<link href="https://cdn.datatables.net/1.10.10/css/jquery.dataTables.min.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script src="https://cdn.datatables.net/1.10.10/js/jquery.dataTables.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/>
<table class="table table-boardered" id="examples">
<thead class="thead-dark">
<tr>
<th>Id</th>
<th>Customer Name</th>
<th>Description</th>
<th>Order Number</th>
<th>PO Number</th>
<th>Quantity</th>
<th>Due Date</th>
<th>Billing Address</th>
<th>Shipping Address</th>
<th>Installing Address</th>
<th>Design</th>
<th>Production</th>
<th>Shipping</th>
<th>Install</th>
<th>Production Manager</th>
<th>Project manager</th>
<th>Sales Representatives</th>
<th>Shipping Method</th>
<th>Created At</th>
<th>Status</th>
<td style="display:none;"></td>
</tr>
</thead>
<tbody>
<tr id="deletetr21">
<td class="notIdClass">2PslfYy</td>
<td class="editableDataClass" data-edit="21" data-table="customer_name">dsndfbbd ejaz</td>
<td class="editableDataClass" data-edit="21" data-table="description"></td>
<td class="editableDataClass" data-edit="21" data-table="order_number">2061</td>
<td class="editableDataClass" data-edit="21" data-table="po_number"></td>
<td class="editableDataClass" data-edit="21" data-table="quantity"></td>
<td class="editableDataClass" data-edit="21" data-table="due_date"></td>
<td class="editableDataClass" data-edit="21" data-table="billing_address"></td>
<td class="editableDataClass" data-edit="21" data-table="shipping_address"></td>
<td class="editableDataClass" data-edit="21" data-table="installing_address"></td>
<td class="editableDataClass" data-edit="21" data-table="design"></td>
<td class="editableDataClass" data-edit="21" data-table="production"></td>
<td class="editableDataClass" data-edit="21" data-table="shipping"></td>
<td class="editableDataClass" data-edit="21" data-table="install"></td>
<td class="editableDataClass" data-edit="21" data-table="production_manager"></td>
<td class="editableDataClass" data-edit="21" data-table="project_manager"></td>
<td class="editableDataClass" data-edit="21" data-table="sales_representative"></td>
<td class="editableDataClass" data-edit="21" data-table="shipping_method"></td>
<td data-table="workflow" style="color:#0277bd">16-01-2018</td>
<td class="statusNotClass">
<select data-edit="21" data-table="status" class="defineWorkflow">
<option value="">-- Select --</option>
<option value="progress">Progress</option>
<option value="pending">Pending</option>
<option value="completed">Completed</option>
</select>
</td>
<td>
</td></tr></tbody><thead id="alsoDeleteThead21" class="thead-dark excludeAction" style="background-color: !important;">
<tr><th style="width: 100% !important"> Edit Option</th>
<th colspan="50 ">
<a> <form action="http://localhost:8000/send_customer_status" method="POST">
<input type="hidden" name="_token" value="DbhEfiBiILxfL7GeRivtIsVw2U1VAyxcWAqw3WaN">
<input type="hidden" name="job_id" value="21">
<input type="hidden" name="customer_id" value="9">
<button class="btn btn-danger send-status " title="Status Sent On - ">Send Status </button>
</form></a>
<a href="#" class="btn btn-danger send-quotation">Send Quotation</a>
<a href="#" class="btn btn-danger send-invoice">Send in Voice</a>
<a href="#" class="btn btn-danger delete-customer" data-delete="21">Delete</a></th>
</tr></thead>
<tbody><tr id="deletetr22">
<td class="notIdClass">AnsAhKR</td>
<td class="editableDataClass" data-edit="22" data-table="customer_name">Raj Laxmi</td>
<td class="editableDataClass" data-edit="22" data-table="description">45x56 led board</td>
<td class="editableDataClass" data-edit="22" data-table="order_number">2164</td>
<td class="editableDataClass" data-edit="22" data-table="po_number">45231</td>
<td class="editableDataClass" data-edit="22" data-table="quantity"></td>
<td class="editableDataClass" data-edit="22" data-table="due_date">2018/01/15 16:23</td>
<td class="editableDataClass" data-edit="22" data-table="billing_address"></td>
<td class="editableDataClass" data-edit="22" data-table="shipping_address"></td>
<td class="editableDataClass" data-edit="22" data-table="installing_address"></td>
<td class="editableDataClass" data-edit="22" data-table="design">45x56 led board, 18x90 flex, 500 brouchers</td>
<td class="editableDataClass" data-edit="22" data-table="production">back and front board 2 side</td>
<td class="editableDataClass" data-edit="22" data-table="shipping">Call before installing</td>
<td class="editableDataClass" data-edit="22" data-table="install">he needs to get installed on 17th - Jan-2018</td>
<td class="editableDataClass" data-edit="22" data-table="production_manager">Saif</td>
<td class="editableDataClass" data-edit="22" data-table="project_manager">Hemanth</td>
<td class="editableDataClass" data-edit="22" data-table="sales_representative"></td>
<td class="editableDataClass" data-edit="22" data-table="shipping_method">mini truck</td>
<td data-table="workflow" style="color:#0277bd">16-01-2018</td>
<td class="statusNotClass">
<select data-edit="22" data-table="status" class="defineWorkflow">
<option value="">-- Select --</option>
<option value="progress">Progress</option>
<option value="pending">Pending</option>
<option value="completed">Completed</option>
</select>
</td>
<td>
</td></tr></tbody><thead id="alsoDeleteThead22" class="thead-dark excludeAction" style="background-color: !important;">
<tr><th style="width: 100% !important"> Edit Option</th>
<th colspan="50 ">
<a> <form action="http://localhost:8000/send_customer_status" method="POST">
<input type="hidden" name="_token" value="DbhEfiBiILxfL7GeRivtIsVw2U1VAyxcWAqw3WaN">
<input type="hidden" name="job_id" value="22">
<input type="hidden" name="customer_id" value="12">
<button class="btn btn-danger send-status statusAlreadySent" title="Status Sent On - 2018-01-16 17:28:00">Send Status </button>
</form></a>
<a href="#" class="btn btn-danger send-quotation">Send Quotation</a>
<a href="#" class="btn btn-danger send-invoice">Send in Voice</a>
<a href="#" class="btn btn-danger delete-customer" data-delete="22">Delete</a></th>
</tr></thead>
<tfoot>
<tr>
<th>Id</th>
<th>Customer Name</th>
<th>Description</th>
<th>Order Number</th>
<th>PO Number</th>
<th>Quantity</th>
<th>Due Date</th>
<th>Billing Address</th>
<th>Shipping Address</th>
<th>Installing Address</th>
<th>Design</th>
<th>Production</th>
<th>Shipping</th>
<th>Install</th>
<th>Production Manager</th>
<th>Project manager</th>
<th>Sales Representatives</th>
<th>Shipping Method</th>
<th>Created At</th>
<th>Status</th>
<td style="display:none;"></td>
</tr>
</tfoot>
</table>
答案 1 :(得分:0)
事件已经支持<?php
$links = array();
while( has_sub_field( 'available_locations' ) )
{
$links[] = '<a href="'.the_sub_field('location_url').'">'.the_sub_field('locations').'</a>';
}
echo implode( ', ', $links );
,因此您可以执行以下操作:
async
除非您在事件处理程序中执行的非异步内容非常昂贵,否则您无需启动另一个watcher.Created += this.ProcessCreateEvent;
private async void ProcessCreateEvent(object sender, FileSystemEventArgs e)
{
var result = await asyncApi.GetStuffAsync();
}
。