猿问

C# 此时无法启动异步操作。

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


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


此时无法启动异步操作。异步操作只能在异步处理程序或模块内或在页面生命周期中的某些事件期间启动。如果在执行 Page 时发生此异常,请确保将 Page 标记为 <%@ Page Async="true" %>。


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();

}

}


倚天杖
浏览 518回答 1
1回答

LEATH

您正在调用一个ASYNC方法,而答案在错误中。确保页面标记为 <%@ Page Async="true" %>。
随时随地看视频慕课网APP
我要回答