我有 3 个项目 Projection.Server - 这包含主机文件和启动 Projection.Shared - 这包含控制器和页面(类库) Components.Shared - 这包含在整个项目中使用的所有组件(类库)
我的问题是,我在 Projection.Shared 中拥有该项目的所有页面,但我希望能够在 Components.Shared 中为我的登录页面拥有一个页面,当此解决方案扩展时但当我创建一个时,该页面可供多个项目使用Components.Shared 中的登录页面无法定向到该页面并显示:
抱歉,该地址没有任何内容。
我认为是这种情况,因为我的 App.Razor 中的 RouteData 位于 Projection.Shared 中,因此无法访问 Components.Shared 中的页面,有没有可能解决这个问题?
我有一个使用 SMS REST API 的服务HttpClient
:
HttpClient http = this._httpClientFactory.CreateClient();
// Skipped: setup HttpRequestMessage
using (HttpResponseMessage response = await http.SendAsync(request))
{
try
{
_ = response.EnsureSuccessStatusCode();
}
catch (HttpRequestException)
{
string responseString = await response.Content.ReadAsStringAsync(); // Fails with ObjectDisposedException
this._logger.LogInformation(
"Received invalid HTTP response status '{0}' from SMS API. Response content was {1}.",
(int)response.StatusCode,
responseString
);
throw;
}
}
Run Code Online (Sandbox Code Playgroud)
API 返回错误,但我希望能够记录它。因此,我需要记录失败的状态代码(我可以从中读取response.StatusCode
)和相关内容(其中可能包含其他有用的错误详细信息)。
此代码在await response.Content.ReadAsStringAsync()
此异常的指令上失败:
System.ObjectDisposedException:无法访问已处理的对象。
对象名称:'System.Net.Http.HttpConnection+HttpConnectionResponseContent'。
模块“System.Net.Http.HttpContent”,在 CheckDisposed
模块“System.Net.Http.HttpContent”,在 ReadAsStringAsync
一些消息来源建议,当状态码不在成功范围(200-299)内时,您不应读取响应内容,但如果响应确实包含有用的错误详细信息呢?
使用的 .NET 版本:AWS lambda linux …
我正在使用 .NET Core 3.1 开发 ASP.NET Web 应用程序。该应用程序从具有错误的外部网络服务器下载 mp3 文件:响应标头中的 Content-Length 报告的字节数高于 mp3 的实际字节数。
这是使用 curl 从该服务器下载文件的示例:
curl -sSL -D - "http://example.com/test.mp3" -o /dev/null
HTTP/1.1 200 OK
Cache-Control: private
Pragma: no-cache
Content-Length: 50561024
Content-Type: audio/mpeg
Content-Range: bytes 0-50561023/50561024
Expires: 0
Accept-Ranges: 0-50561023
Server: Microsoft-IIS/10.0
Content-Transfer-Encoding: binary
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Date: Fri, 03 Jan 2020 23:43:54 GMT
curl: (18) transfer closed with 266240 bytes remaining to read
Run Code Online (Sandbox Code Playgroud)
因此,即使 curl 报告传输不完整,mp3 也完全下载了 50294784 字节,我可以在我尝试过的任何音频播放器中打开它。
我在我的 Web 应用程序中想要的是与 curl 相同的行为:忽略不正确的 Content-Length 并下载 …
我们有标准的 ASP.NET Core 解决方案,Microsoft.Extensions.DependencyInjection
需要根据配置设置注册某些控件。
某些ApiController
继承自的示例ControllerBase
及其所有相关操作仅应在某些bool
为真时注册。
这可能吗?我看了看,services.AddMvc()
但没有看到任何可以轻松让我执行以下操作的选项:
ExampleController
被注册ExampleController
及其所有相关操作IServiceCollection
这真的让我很困惑。没有什么可以阻止我们创建具有实例字段和实例方法的类,而不是创建具有静态字段和静态方法的类。两者都可以注册为单例。
是否有解决此问题的首选方法,为什么?
编辑:我不是在询问使用单例模式创建一个类。我问的是单例依赖注入类与注入同一个类但具有静态定义的成员/字段/方法/属性。
不确定这是本网站的正确部分,但我有一个问题。
所以,我使用 MathNet.Numerics 来计算导数。我想在控制台中显示它们。
代码示例
using System;
using MathNet.Numerics;
namespace math
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello World!");
Func<double,double> f = x => 3 * Math.Pow(x, 3) + 2 * x - 6;
var test = Differentiate.DerivativeFunc(f, 1);
Console.WriteLine(test.ToString());
Console.ReadKey();
}
}
}
Run Code Online (Sandbox Code Playgroud)