- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
大家好,在使用 Visual Studio 2008 (Cassini) 在内置 Web 服务器上本地测试 ASP.NET 应用程序时,我似乎发现了一个差异。
我在本地机器上设置了一个主机,将 dev.testhost.com 与 127.0.0.1 相关联,因为我有一个应用程序需要更改其外观取决于用于调用它的主机 header 。
但是,当我使用 http://dev.testhost.com:1234/index.aspx
请求我的测试应用程序时,Request.Url.Host
的值总是 "localhost"
。而 Request.Headers["host"]
的值是 "dev.testhost.com:1234"
(正如我所期望的那样两者成为)。
我不担心第二个值包含端口号,但我很困惑为什么HOST NAMES 完全不同!有谁知道这是已知问题还是设计使然?还是我是个白痴?!
我宁愿使用
- 由于可能造成困惑! - 山姆Request.Url.Host
,因为这样可以避免在测试时去掉端口号......
最佳答案
Request.Headers["host"]
是从连接到服务器的应用程序收到的值,而另一个值是服务器在尝试获取域名时得到的值。
浏览器在请求中使用输入的域名,因为它用于虚拟域。服务器报告在服务器首选项中设置的那个,或者它找到的第一个。
编辑:查看 Cassini 的代码以查看它是否使用了某些特定设置,我注意到以下代码:
public string RootUrl {
get {
if (_port != 80) {
return "http://localhost:" + _port + _virtualPath;
}
else {
return "http://localhost" + _virtualPath;
}
}
}
//
// Socket listening
//
public void Start() {
try {
_socket = CreateSocketBindAndListen(AddressFamily.InterNetwork, IPAddress.Loopback, _port);
}
catch {
_socket = CreateSocketBindAndListen(AddressFamily.InterNetworkV6, IPAddress.IPv6Loopback, _port);
}
// …
}
解释似乎是 Cassini 明确引用了本地主机,并且没有尝试进行反向 DNS 查找。不同的是,它不会使用 return "http://localhost"+ _virtualPath;
。
关于c# - 为什么 Request ["host"] == "dev.testhost.com:1234"而 Request.Url.Host == "localhost",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1941522/
我有一个简单的 dotnet 核心类库,带有单个 XUnit 测试方法: TestLib.csproj: netstandard2.0
我已经为这个问题苦苦挣扎了好几个小时。我的 WebAPI 应用程序在本地机器和生产服务器上运行良好,但在具有依赖注入(inject)的 Controller 的集成测试期间失败。一切看起来都很干净,我
在 .net core api 中启用证书身份验证会导致 TestServer 在集成测试中始终返回 403-Forbidden(尽管请求中使用了证书)。 我尝试更改 TestClientProvid
我们正在使用 devops 构建我们的 .net 4.7.2 应用程序。作为其中的一部分,我们正在运行使用 nunit 框架和测试运行器的单元测试。 它已经运行了大约 18 个月,但在最后一天刚刚停止
我的 azure devops 测试管道遇到了一些麻烦。 我正在使用 xunit 测试,每个测试项目都正确运行,我可以查看测试结果,但由于以下错误,管道无论如何都失败了 ##[error]Testho
我已经按照 this 在 .net 核心中构建了一个 WebSocket Web 应用程序和 this或 this教程。现在我正在尝试使用 Microsoft.AspNetCore.TestHost
我有 ASP.Net MVC 应用程序,其中一部分是将 razor View 编译为字符串。该代码与此示例非常相似: https://long2know.com/2017/08/rendering-a
尝试在 VS2015 中测试 ASPNET 5 应用程序。 { "version": "1.0.0-*", "description": "HoldingTank Class Library"
我正在尝试为我使用 graphql-dotnet 的小型 GraphQL 服务器编写集成测试。当我使用我的 Web 应用程序时,服务器工作正常。 为了运行集成测试,我尝试使用 Microsoft.As
我有一个 C#(selenium + NUnit + Specflow).Net Core 2.1 项目(对比 2017)。 我的项目引用了包含 testhost.dll 的 Microsoft.Te
我使用 NUnit 创建了一个 selenium 测试框架,有一个测试来打开页面并断言页面标题。 但是,当我尝试运行测试时,它似乎开始和停止,甚至在使用 Debug 运行时也不做任何事情。测试保留在
我正在 azure devops 代理上运行一些 API 测试并收到此警告错误消息 2021-05-21T13:42:29.0650201Z ##[error]DiscoveryMessage :
我正在 azure devops 代理上运行一些 API 测试并收到此警告错误消息 2021-05-21T13:42:29.0650201Z ##[error]DiscoveryMessage :
我正在使用 SoapCore 使用 asp.net core 2 创建类似 WCF 的应用程序。 这对我来说很好用,但在集成测试我的端点时,我有点碰壁了。 由于 SoapCore 是一个中间件并且与任
我有一个 ASP.Net Core 应用程序,配置为颁发和验证 JWT 不记名 token 。当网站托管在 Kestrel 中时,客户端能够成功检索不记名 token 并使用该 token 进行身份验
如何在 ASP.NET MVC 6 中设置 View 引擎以与 TestServer 创建的测试主机一起工作。我已经尝试实现 trick来自 MVC 6 repo : [Fact] public as
我已经使用过几次这个包Microsoft.AspNetCore.TestHost在我的集成测试中托管 Asp.Net Core Web API 应用程序。 使用 Asp.Net Core 2.1 包
我了解 AspNetCore 2.1 仍处于候选发布形式,并且使用 Microsoft.AspNetCore.Mvc.Testing 的新测试模型不稳定。 但我正在尝试遵循示例并使用 WebAppli
没有简单的方法来访问 response 对象中的 CookieContainer 运行与 AspNet.TestHost.TestServer 的集成测试。 Cookie 必须由 Controller
大家好,在使用 Visual Studio 2008 (Cassini) 在内置 Web 服务器上本地测试 ASP.NET 应用程序时,我似乎发现了一个差异。 我在本地机器上设置了一个主机,将 dev
我是一名优秀的程序员,十分优秀!