ServiceStack AppHostHttpListenerBase 无法连接到远程服务器

2023-11-30

我正在对我的应用程序进行一些功能测试,我认为我已经非常接近了。我的问题是,当我运行第一次测试时,出现错误。

无法连接到远程服务器。

预期:好的
但为:0

我可以确认,如果我在断言上放置断点,然后尝试命中BaseUrl在我的浏览器中,找不到它。

这是我的测试。

[Test]
public void MyTestTest ()
{
    var client = new RestClient( ServiceTestAppHostBase.BaseUrl );
    // client.Authenticator = new HttpBasicAuthenticator( NUnitTestLoginName, NUnitTestLoginPassword );
    var request = new RestRequest( "/users/", Method.GET );
    request.RequestFormat = DataFormat.Json;
    var response = client.Execute( request );

    // do assertions on the response object now
    Assert.That( response.StatusCode, Is.EqualTo( HttpStatusCode.OK ) );
}

The AppServerTestSetup看起来像这样

[SetUpFixture]
public class AppServerTestSetup
{
    ServiceTestAppHostBase _appHost;

    [SetUp]
    public void SetUp()
    {
        _appHost = new ServiceTestAppHostBase();
        _appHost.Init();
        _appHost.Start(ServiceTestAppHostBase.BaseUrl);
    }

    [TearDown]
    public void TearDown()
    {
        _appHost.Dispose();
    }
}

And the ServiceTestAppHostBase看起来像这样。

public class ServiceTestAppHostBase : AppHostHttpListenerBase
{
    public const string BaseUrl = "http://localhost:8082/";
    public ServiceTestAppHostBase () : base( "OurApp.AppServer", typeof( UserServiceInterface ).Assembly ) { }

    public override void Configure ( Container container )
    {
        JsConfig.EmitCamelCaseNames = true;

        SetConfig( new EndpointHostConfig
        {
            MapExceptionToStatusCode = {
                { typeof( NotFoundException ), 404 }, // Map exception to 404 not found http response.
                { typeof( SystemAccountChangeException ), 405 } // Map exception to 405 method not allowed.
            }
        } );

        // Shared Container Registration
        AppHostContainerRegistrations.Register( container );

        // Setup the database
        var migrationRunner = container.Resolve<IMigrationRunner>();

        migrationRunner.CreateDatabase();
        migrationRunner.RunAll();
    }
}

注意:我也在使用AppHostContainerRegistrations在主应用程序中,它正在工作。我还验证了它正在测试设置中运行。

The AppHostContainerRegistrations(供参考)看起来像这样。

public class AppHostContainerRegistrations
{
    public static void Register(Container container)
    {
        // IOC Registration
        // Register base connection config
        var dbConnection = ConfigurationManager.ConnectionStrings["databaseConnection"];
        var databaseName = ConfigurationManager.AppSettings["databaseName"];

        // Register Sqlserver DbProvider
        container.Register<IDbConnectionProvider>( containr => new DbConnectionProvider( dbConnection.ConnectionString, dbConnection.ProviderName ) );
        container.Register<IDbProvider>( containr => new DbProvider( containr.Resolve<IDbConnectionProvider>(), databaseName ) );

        // Register repositories
        container.RegisterAs<DatabaseVersionRepository, IDatabaseVersionRepository>();
        container.RegisterAs<UserRepository, IUserRepository>();
        container.RegisterAs<GroupRepository, IGroupRepository>();
        container.RegisterAs<DeviceRepository, IDeviceRepository>();
        container.RegisterAs<SecuritySettingsRepository, ISecuritySettingsRepository>();

        // Register services
        container.RegisterAs<UserService, IUserService>();
        container.RegisterAs<GroupService, IGroupService>();
        container.RegisterAs<SecuritySettingsService, ISecuritySettingsService>();

        // Register everything else
        container.RegisterAs<PasswordHasher, IPasswordHasher>();
        container.RegisterAs<MigrationRunner, IMigrationRunner>();

        container.Register( new UserModel { Id = new Guid( "6C83DDEC-5E58-4F28-BDE2-61EBF1B49691" ) } );

    }
}

我们像这样进行数据库设置的原因是因为我们在 App.Config 中有一个连接字符串和数据库名称,并且我们在部署期间依赖转换来设置数据库。

谁能帮我解决这个问题?


经过与 @mythz 的长时间交谈后,发现 VS 必须在管理模式下运行才能运行“AppHostHttpListenerBase”。

从终端运行 ./build 时,我还必须以管理员身份运行 Powershell。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ServiceStack AppHostHttpListenerBase 无法连接到远程服务器 的相关文章

  • 创建 DirectoryEntry 实例以供测试使用

    我正在尝试创建 DirectoryEntry 的实例 以便可以使用它来测试将传递 DirectoryEntry 的一些代码 然而 尽管进行了很多尝试 我还是找不到实例化 DE 并初始化它的 PropertyCollection 的方法 我有
  • 如何在 Unity 中从 RenderTexture 访问原始数据

    问题的简短版本 我正在尝试访问 Unity 中 RenderTexture 的内容 我一直在使用 Graphics Blit 使用自己的材质进行绘制 Graphics Blit null renderTexture material 我的材
  • 在 Xamarin Android 中将图像从 URL 异步加载到 ImageView 中

    我有一个包含多个项目的 ListView 列表中的每个项目都应该有一个与之关联的图像 我创建了一个数组适配器来保存每个列表项并具有我希望加载的图像的 url 我正在尝试使用 Web 请求异步加载图像 并设置图像并在加载后在视图中更新它 但视
  • C# 中值类型和引用类型有什么区别? [复制]

    这个问题在这里已经有答案了 我知道一些差异 值类型存储在堆栈上 而引用类型存储在托管堆上 值类型变量直接包含它们的值 而引用变量仅包含对托管堆上创建的对象位置的引用 我错过了任何其他区别吗 如果是的话 它们是什么 请阅读 堆栈是一个实现细节
  • 写入和读取文本文件 - C# Windows 通用平台应用程序 Windows 10

    有用 但在显示任何内容之前 您必须在文本框中输入内容 我想那是因为我使用了 TextChanged 事件处理程序 如果我希望它在没有用户交互的情况下显示文本文件的内容 我应该使用哪个事件处理程序 因此 我想在按下按钮时将一些数据写入 C W
  • c 中的错误:声明隐藏了全局范围内的变量

    当我尝试编译以下代码时 我收到此错误消息 错误 声明隐藏了全局范围内的变量 无效迭代器 节点 根 我不明白我到底在哪里隐藏或隐藏了之前声明的全局变量 我怎样才能解决这个问题 typedef node typedef struct node
  • C# 用数组封送结构体

    假设我有一个类似于 public struct MyStruct public float a 我想用一些自定义数组大小实例化一个这样的结构 在本例中假设为 2 然后我将其封送到字节数组中 MyStruct s new MyStruct s
  • c# Asp.NET MVC 使用FileStreamResult下载excel文件

    我需要构建一个方法 它将接收模型 从中构建excel 构建和接收部分完成没有问题 然后使用内存流导出 让用户下载它 不将其保存在服务器上 我是 ASP NET 和 MVC 的新手 所以我找到了指南并将其构建为教程项目 public File
  • 为什么模板不能位于外部“C”块内?

    这是一个后续问题一个答案 https stackoverflow com questions 4866433 is it possible to typedef a pointer to extern c function type wit
  • A* 之间的差异 pA = 新 A;和 A* pA = 新 A();

    在 C 中 以下两个动态对象创建之间的确切区别是什么 A pA new A A pA new A 我做了一些测试 但似乎在这两种情况下 都调用了默认构造函数 并且仅调用了它 我正在寻找性能方面的任何差异 Thanks If A是 POD 类
  • 使用 LINQ 查找列表中特定类型的第一个元素

    使用 LINQ 和 C 在元素列表中查找特定类型的第一个项目的最短表示法是什么 var first yourCollection OfType
  • 我的 strlcpy 版本

    海湾合作委员会 4 4 4 c89 我的程序做了很多字符串处理 我不想使用 strncpy 因为它不会终止 我不能使用 strlcpy 因为它不可移植 只是几个问题 我怎样才能让我的函数正常运行 以确保它完全安全稳定 单元测试 这对于生产来
  • Windows 10 中 Qt 桌面应用程序的缩放不当

    我正在为 Windows 10 编写一个简单的 Qt Widgets Gui 应用程序 我使用的是 Qt 5 6 0 beta 版本 我遇到的问题是它根本无法缩放到我的 Surfacebook 的屏幕上 这有点难以判断 因为 SO 缩放了图
  • C 中的位移位

    如果与有符号整数对应的位模式右移 则 1 vacant bit will be filled by the sign bit 2 vacant bit will be filled by 0 3 The outcome is impleme
  • AccessViolationException 未处理

    我正在尝试使用史蒂夫 桑德森的博客文章 http blog stevensanderson com 2010 01 28 editing a variable length list aspnet mvc 2 style 为了在我的 ASP
  • 在 URL 中发送之前对特殊字符进行百分比编码

    我需要传递特殊字符 如 等 Facebook Twitter 和此类社交网站的 URL 为此 我将这些字符替换为 URL 转义码 return valToEncode Replace 21 Replace 23 Replace 24 Rep
  • GDK3/GTK3窗口更新的精确定时

    我有一个使用 GTK 用 C 语言编写的应用程序 尽管该语言对于这个问题可能并不重要 这个应用程序有全屏gtk window与单个gtk drawing area 对于绘图区域 我已经通过注册了一个刻度回调gtk widget add ti
  • 方法参数内的变量赋值

    我刚刚发现 通过发现错误 你可以这样做 string s 3 int i int TryParse s hello out i returns false 使用赋值的返回值是否合法 Obviously i is but is this th
  • 如何连接字符串和常量字符?

    我需要将 hello world 放入c中 我怎样才能做到这一点 string a hello const char b world const char C string a hello const char b world a b co
  • 为什么 strtok 会导致分段错误?

    为什么下面的代码给出了Seg 最后一行有问题吗 char m ReadName printf nRead String s n m Writes OK char token token strtok m 如前所述 读取字符串打印没有问题 但

随机推荐

  • 如何使用 C# 检测包含尾随逗号的无效 JSON?

    是的 是的 我知道有无数关于检测无效 Json 的帖子 他们都说同样的事情 尝试解析或反序列化对象 你猜怎么了 在这种情况下 Json NET 很乐意解析我格式错误的 JSON 并且不会抱怨 我认为我需要澄清一下 我的 JSON 唯一的问题
  • 在 React JSX 中使用 if 语句

    你能像这样在 JSX 中使用 if 语句吗 var chartGraphContent div if this state modalityGraph nca gt 0 div div div
  • r 分组依据和计数

    我正在处理一个数据集 如下所示 Id Date Color 10 2008 11 17 Red 10 2008 11 17 Red 10 2008 11 17 Blue 10 2010 01 26 Red 10 2010 01 26 Gre
  • 检查 CRC 多项式的错误检测能力

    我试图找出如何计算任意 CRC 多项式的错误检测能力 我知道有多种错误检测功能可能 或可能不适用于 任意多项式 检测单个比特错误 所有 CRC 都可以执行此操作 因为这只需要 CRC 宽度 gt 1 突发错误检测 所有 CRC 都可以检测大
  • 多个开发人员如何在连接到单个 Firebase 控制台的同一个 Android 应用上工作?

    我的本地 Android 应用程序在 google firebase 控制台中与 google services json 中配置的 SHA 密钥同步 另一端的开发者如何 可以将项目设置为使用相同的 firebase 控制台和 json 文
  • 从生产文件夹创建 git 存储库

    我有一台带有生产网站的机器 我想在该机器上创建一个 git 存储库 以便使用 git 管理该网站 所以我做的第一件事就是在生产机器中创建一个空的 git 存储库 mkdir repos cd repos mkdir production g
  • 如何找到Tkinter当前使用的Tcl/Tk库的路径?

    TCL LIBRARY and TK LIBRARY环境变量可用于通过正确的 Tcl Tk 安装来绑定 Tkinter 如何从工作的 Tkinter 实例获取 Tcl Tk 的位置 我正在使用 Tkinter 在非虚拟 Python 中运行
  • itext 7.1 如何检查图像是否旋转

    在 itext 7 1 中 我使用以下代码将图像添加到 pdf 文档中 Document document new Document writerPdf make a new document object ImageData imgDat
  • 我的 xpages 上仅在午夜为用户调整日期

    我们在 xpages 中遇到了一个关于日期的非常奇怪的问题 我们的 Notesdocument 包含一个日期字段 并且该值只是一个日期 没有时间部分 在 xpage 中 我已指定将日期显示为日期 时间值 网页上的日期显示正确 但我们现在收到
  • 如何将 pygame.image.save 输出到变量而不是文件?

    我想发送一个pygame surface Surface到另一台计算机使用socket图书馆 我尝试使用pygame image tostring但它花了900kb 但是当我使用pygame image save我用过jpg格式化只需要45
  • Java Stream Collectors.toList() 无法编译

    任何人都可以解释为什么下面的代码无法编译但第二个代码可以编译 不编译 private void doNotCompile List
  • Java HashMap 返回值与我对 equals 和 hashcode 的理解不符

    以下代码示例的输出是 1 e e2 2 e1 e1 package com sid practice import java util HashMap import java util Map public class InputOutpu
  • 自定义通知

    我想知道是否有一种方法可以使用通知栏来执行某些操作 onClick 而无需启动 恢复活动 例如 假设我发出一个通知 当用户按下它时 它不会带我去某个活动 而是调用我当前活动 服务中的一些常规方法 有什么方法可以实现这样的事情吗 例如 当前的
  • 仅基于返回类型的重载

    我有一种情况 我想从此函数返回 List public DataTable GetSubCategoriesBySubCatID Guid SubCategoryID 所以我想要的是 public List
  • 如何在Android上发送虚假来电广播

    我正在尝试发送广播来模拟来电 我在AndroidManifest xml文件中添加了权限
  • Spark 中鼓励使用并行集合

    在 Spark 上使用并行集合有意义吗 到目前为止 我看到的所有 Spark 示例都使用非常简单数据类型 单类和元组 的 RDD 但实际上集合 特别是并行集合可以用作 RDD 的居民 工作线程可能有多个核心可供执行 如果使用常规集合作为 R
  • SQL Server 中 XML 节点的多目标搜索

    我在 SQL Server 中有一个进程表 如下所示 workflowXML列的值如下 样本1 进程ID 1 样本1的workflowXML
  • Jenkins 似乎是通过 ssh 启动的脚本中 nohup 的目标,我该如何防止这种情况发生?

    我正在尝试创建一个 Jenkins 作业来重新启动一个始终在我们的一台服务器上运行的程序 我指定以下内容作为要运行的命令 cd usr local tool tool stop tool start 脚本 工具 包含如下行 nohup ja
  • Java 中的 RTF 转 PDF

    我们正在构建一个与其他系统部分交互的应用程序 我们正在从其他系统中提取一些数据 这些数据以 RTF 文档的形式返回 但我们必须阻止用户编辑这个文件 所以我们考虑用 iText 将其转换为 PDF 代码片段 moving the rtf da
  • ServiceStack AppHostHttpListenerBase 无法连接到远程服务器

    我正在对我的应用程序进行一些功能测试 我认为我已经非常接近了 我的问题是 当我运行第一次测试时 出现错误 无法连接到远程服务器 预期 好的但为 0 我可以确认 如果我在断言上放置断点 然后尝试命中BaseUrl在我的浏览器中 找不到它 这是