【问题标题】:C# An asynchronous operation cannot be started at this time.C# 此时无法启动异步操作。
【发布时间】:2019-01-11 21:54:13
【问题描述】:

当我单击以asp web 表单提交的按钮时,我正在尝试运行我的代码。单击按钮后立即发生错误有人知道原因吗?错误信息显示如下:

“/”应用程序中的服务器错误。

此时无法启动异步操作。异步 操作只能在异步处理程序中启动或 模块或页面生命周期中的某些事件期间。如果这 执行页面时发生异常,请确保该页面是 标记为 。

aspx 文件:

<asp:Content ID="BodyContent" ContentPlaceHolderID="MainContent" runat="server">
<div class="jumbotron">
    <h1>Luis</h1>        
        <asp:TextBox ID="TextBox1" runat="server" Height="40px" Width="273px"></asp:TextBox>    
</div>
    <p>
       <input id="Submit1"  runat="server" type="submit" value="Check" onserverclick="Submit_Click"/></p>  
    <p>
    <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
</p>
</asp:Content>

.cs 文件:

public partial class _Default : Page
{
public async void Submit1_Click(object sender, EventArgs e) {

    string utterance = TextBox1.Text;

    var client = new HttpClient();
    var queryString = HttpUtility.ParseQueryString(string.Empty);

    // This app ID is for a public sample app that recognizes requests to turn on and turn off lights
    var luisAppId = "75bcaaff-1dc1-4dsa-adf7-63584cea339a";
    var subscriptionKey = "43314f19c5ecgdascba6a00f1d3cc3533";

    // The request header contains your subscription key
    client.DefaultRequestHeaders.Add("Ocp-Apim-Subscription-Key", subscriptionKey);

    // The "q" parameter contains the utterance to send to LUIS
    //queryString["q"] = "turn on the left light";

    // These optional request parameters are set to their default values
    queryString["timezoneOffset"] = "0";
    queryString["verbose"] = "false";
    queryString["spellCheck"] = "false";
    queryString["staging"] = "false";

    var uri = "https://westus.api.cognitive.microsoft.com/luis/v2.0/apps/" + luisAppId + "?" + queryString + "&q=" + utterance;
    var response = await client.GetAsync(uri);

    var strResponseContent = await response.Content.ReadAsStringAsync();

    // Display the JSON result from LUIS
    //Console.WriteLine(strResponseContent.ToString());
    Label1.Text = strResponseContent.ToString();
}
}

【问题讨论】:

    标签: c# asp.net asynchronous


    【解决方案1】:

    您正在调用ASYNC 方法,答案在错误中。

    确保页面标记为 。

    【讨论】:

      猜你喜欢
      • 2016-05-14
      • 2022-09-28
      • 2013-06-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-12
      相关资源
      最近更新 更多