当我单击以ASP Web表单提交按钮时,我正在尝试运行代码。单击按钮后立即发生错误有人知道原因吗?错误消息显示如下:
“ /”应用程序中的服务器错误。
此时无法启动异步操作。异步 操作只能在异步处理程序中启动,或者 模块或在页面生命周期中的某些事件期间。如果这 执行页面时发生异常,请确保该页面是 标记为<%@ 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();
}
}
答案 0 :(得分:2)
您正在调用ASYNC
方法,并且答案出在错误中。
确保页面已标记为<%@页面Async =“ true”%>。