Mar*_*rkF 3 asp.net async-await dotnet-httpclient
我正在尝试运行Test.aspx:
<%@ Page language="c#" EnableViewState="true" ContentType="text/html" Async="true" %>
<script language="C#" runat="server">
void Page_Load(Object Src, EventArgs E )
{
RegisterAsyncTask(new PageAsyncTask(BindData));
}
private async System.Threading.Tasks.Task BindData()
{
Response.Write("Hello?<br /><br />");
using (System.Net.Http.HttpClient httpClient = new System.Net.Http.HttpClient())
{
Response.Write(await httpClient.GetStringAsync("http://www.google.com"));
}
Response.Write("<br /><br />Is this thing on?<br /><br />");
}
</script>
Run Code Online (Sandbox Code Playgroud)
并收到此错误:
Test.aspx(14): error CS0234: The type or namespace name 'Http' does not exist in the namespace 'System.Net' (are you missing an assembly reference?)
Run Code Online (Sandbox Code Playgroud)
System.Net.Http.dll程序集在
C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET MVC 4\Assemblies
Run Code Online (Sandbox Code Playgroud)
在IIS管理器中,基本设置的应用程序池是ASP.NET v4.0(集成).有没有人碰到这个?
更新:我安装了.Net 4.5.2并添加了以下web.config
<configuration>
<system.web>
<httpRuntime targetFramework="4.5" />
<compilation>
<assemblies>
<add assembly="System.Net.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
</assemblies>
</compilation>
</system.web>
</configuration>
Run Code Online (Sandbox Code Playgroud)
它起作用了.
要解决这个问题,我必须补充一下
<add assembly="System.Net.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
Run Code Online (Sandbox Code Playgroud)
和
<httpRuntime targetFramework="4.5.2" />
Run Code Online (Sandbox Code Playgroud)
到web.config
归档时间: |
|
查看次数: |
9826 次 |
最近记录: |