问题标签 [cassini-dev]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
667 浏览

c# - 停止测试后停止 cassiniDev

我从 cmd 运行 cassiniDev

C:\CruiseControl.NET-1.5.0.6237\cassinidev.3.5.0.5.src-repack\CassiniDev\bin\Debug\CassiniDev.exe /a:D:_CCNET\proj /pm:Specific /p:3811

然后开始调试和测试。完成测试后,如何从 CMD 停止 cassiniDev。我尝试使用 cassiniDev_console 但控制台不工作,所以我从控制台使用 cassiniDev。

0 投票
2 回答
388 浏览

asp.net - 如何为 Web 测试做模拟?

我想为我的 asp.net Web 应用程序编写一些 Web 测试(通过 WatiN/Selenium + CassiniDev Web 服务器)。

我遇到的问题是在这种情况下我不知道该怎么办:有一个页面,用户可以点击按钮调用一些第三方服务。在我的网络测试中,我想创建这个服务的模拟,它总是返回静态值(这些测试用例中的一些值和其他测试用例中的其他值)。

我怎样才能做到这一点?

目前我使用 IoC/DI 容器 Microsoft Unity。我的页面以http://msdn.microsoft.com/en-us/library/ff664622%28v=pandp.50%29.aspx中描述的方式获取他的依赖项。

我想到的唯一解决方案是:将每个测试用例的所有依赖项放在 web.config 中,并在测试的 SetUp 上复制必要的 web.config。这个解决方案非常痛苦!

有任何想法吗?

0 投票
0 回答
288 浏览

httpsession - 使用 CassiniDev 的 HttpSessionState null

我正在尝试使用 CassiniDev 构建一些单元测试。首先,我创建一个服务器和一个页面并生成一个请求:

一切都很好,但是当我尝试使用 HttpSessionState 对象时,它为空:

我应该做其他事情还是额外的步骤?

0 投票
1 回答
739 浏览

visual-studio-2010 - Visual Studio 中的这个“本地主机”项目是怎么回事?

我有一个视觉工作室解决方案,当我打开它时,我收到一条错误消息:

" http://localhost:55365 : 错误 : 无法打开网站' http://localhost/_1 '。要访问本地 IIS 网站,您必须安装以下 IIS 组件:

此外,您必须在管理员帐户的上下文中运行 Visual Studio。

有关详细信息,请按 F1。”

奇怪的是没有列出要安装的内容。注意:我已经以管理员身份运行了 Visual Studio。这是资源管理器中解决方案的屏幕截图...

在此处输入图像描述

真的我有2个问题:

1)解决方案资源管理器中第二个项目的项目类型是什么?

2)为什么不会加载?我确实安装了 IIS,并且我还有其他在 Web 开发服务器下运行的站点....

0 投票
1 回答
732 浏览

c# - Cassini-dev 的 NTLM 身份验证中的 SecurityIdentifiers

在 Cassini-dev 的 NTLM 身份验证类中的这段代码中,对 SECUR32.DLL(通过Interop)进行的调用是为了对 HTTP 请求Authorization标头中的 base64 编码数据进行身份验证。这是有道理的,当AcceptSecurityContext()QuerySecurityContextToken()都返回0时,客户端已被授权。最后,安全上下文令牌SecurityIdentifier从中提取了一个(_sid变量)。(关于常见安全 ID的一些信息)

这是NtlmAuth 类的相关部分

Request Class中,在TryNtlmAuthenticate()使用 NtlmAuth 的方法中,在成功完成 NTLM 身份验证的 3 个步骤后,在返回最终403或完成请求之前,将进行最后一次检查:

在这里,_host.GetProcessSid()SecurityIndentifierCassini 进程(我)的所有者,而auth.SIDSecurityIdentifier经过身份验证的用户(上面NtlmAuth类中的 _sid)。如果这 2 个 SID 不同,则返回 403 并停止身份验证,否则将请求提供给浏览器。


我的问题是:

  1. 为什么需要比较 2 个不同用户的 SecurityIndentifiers?当我尝试使用不是拥有 Cassini 进程的用户的用户/密码进行 NTLM 身份验证时,这将失败(返回 403)。
  2. 如果这确实是预期的行为,如果 Cassini 将作为 Windows 服务运行,则没有人能够登录,因为主机 SID 将是S-1-5-18(或者可能类似的东西,取决于操作系统版本)和没有人可以作为操作系统登录。这只是 Cassini 的 NTLM 身份验证实现的一部分,我没有正确使用 Cassini 吗?
  3. 如果这显然不是预期的行为,那么 SecurityIndentifiers 在这种情况下扮演什么角色?是否需要进行额外检查以确保主机 SID 需要属于某个类或组才能接受某个类/组的客户端 SID?处理主机/客户端 SID 时是否存在操作系统版本 (XP/Vista/7) 影响?
  4. 或者这里没有安全标识符的适用用途,因为它们没有被存储或传递,也没有被用来进一步识别用户/客户端?

更新:似乎有人在 cassinidev 论坛上提出了一个补丁,该补丁早在 2010 年就删除了此 SID 检查(补丁 #6604),但仍在评估中。

0 投票
1 回答
287 浏览

asp.net - 托管在 Windows 服务中时 Cassini-Dev 中的 Windows 标识不正确

我在我的 Windows 服务中托管 CassiniDev 4.0,为我的服务运行 MVC 3.0 配置站点。

我有 web.config 设置以使用 Windows 身份验证。当我查看网站中的 HttpContext.User 时,它显示了服务正在运行的身份,而不是发出请求的用户的身份。User.AuthenticationType 是 NTLM,这是正确的,顺便说一句。

这似乎很明显是一个错误,但想由社区运行它,看看是否有一些我遗漏的配置。

似乎它可能是上周发布的这个问题的一个变体:

Cassini-dev 的 NTLM 身份验证中的 SecurityIdentifiers

0 投票
1 回答
556 浏览

c# - 如何在没有超时的情况下使用 CassiniDev.Lib?

我正在使用 CassiniDev.Lib4 DLL 并发现服务器在一定时间后停止响应。

查看 CassiniServer.cs 中的代码,我可以看到设置了 60 秒的超时:

_server = new Server(port, virtualPath, applicationPath, ipAddress, hostname, 60000);

如何避免服务器超时?为什么会有超时?

编辑:提琴手告诉我: HTTP/1.1 502 Fiddler - Connection Failed Content-Type: text/html; charset=UTF-8 Connection: close Timestamp: 09:18:38.367 The socket connection to localhost failed. Es konnte keine Verbindung hergestellt werden, da der Zielcomputer die Verbindung verweigerte 127.0.0.1:1278

编辑 2:我不再确定它与实施的超时有关,因为我保持时间并且无法识别 60 秒的时间窗口。有时服务器在最后一次点击后 40 秒后没有响应。或者可能是加载了缓存的网站并且最后一次点击没有触发请求?

我真的很期待你的提示!

最好的祝福,

知识库

0 投票
2 回答
843 浏览

c# - 无法连接到服务器

我在我的项目中使用CassiniDevServer。我创建了 CassiniDevServer 类的一个对象,然后调用它的 start() 方法传递适当的参数。

服务器在浏览器中正确托管和呈现网页。但过了一段时间,当刷新时,浏览器说

无法连接到本地主机:端口号

似乎服务器在一段时间后停止了。为什么会这样?我怎样才能避免这种情况?是否正在收集垃圾?

我有一个 MyCassiniDevUtil 类,它具有以下方法:

在调用代码中,我创建了一个对象,MycassiniDevUtil然后调用此方法。此方法返回对当前创建的服务器实例的引用。我在调用代码类中分配了这个引用。

所以实际上我确实引用了这两个类,但我仍然觉得它正在收集垃圾。或者,如果不是,我不明白为什么几分钟后刷新浏览器时显示无法连接...

0 投票
1 回答
285 浏览

asp.net - CassiniDev 嵌入在 WinForm 应用程序中?

我正在尝试组合一个 winform 应用程序,该应用程序还具有一个 Web 界面,可以与从应用程序的 winform 部分生成的事件进行交互。我在应用程序中成功运行了 cassinidev 服务器,并且正在处理 asp.net 页面,但我仍然遇到了一些障碍,我不确定它们是否可能???

  1. 我无法在页面后面使用代码。我已将适当的属性添加到页面指令,但我仍然无法从 aspx 页面访问控件。

  2. 我无法从应用程序的 Web 部分访问课程。看截图...

也许我想要完成的事情甚至是不可能的,但如果有人能帮助我指出正确的方向,我将不胜感激!

在此处输入图像描述

0 投票
1 回答
399 浏览

continuous-integration - CassiniDev 64位持续集成

我最近开始使用 CassiniDev 在我们的 CI 服务器上运行我的 WatiN 测试。当我构建和测试我们的两台 32 位机器时,我运行测试没有问题。但是,当我在 64 位机器上构建和测试时,我收到以下错误:

我发现这是由于与 64 位环境的冲突。在我的 64 位本地机器上,将平台目标设置为 x86 没有问题,我的测试运行得像梦一样。但是,如果我将发布配置更改为以 x86 为目标并部署到我们的 64 位机器,我仍然会收到相同的错误。有谁知道解决这个问题?我可以通过某种方式在 32 位和 64 位机器上构建和测试?