我正在使用Cassini/WebServer.WebDev使用NUnit运行WebService的一些自动测试.
我没有做任何花哨的事,只是
public class WebService{
Microsoft.VisualStudio.WebHost.Server _server;
public void Start(){
_server = new Microsoft.VisualStudio.WebHost.Server(_port, "/", _physicalPath);
}
public void Dispose()
{
if (_server != null)
{
_server.Stop();
_server = null;
}
}
}
[TestFixture]
public void TestFixture{
[Test]
public void Test(){
using(WebService webService = new WebService()){
webService.Start();
// actual test invoking the webservice
}
}
}
Run Code Online (Sandbox Code Playgroud)
,但是当我使用nunit-console.exe运行它时,我得到以下输出:
NUnit version 2.5.0.9015 (Beta-2)
Copyright (C) 2002-2008 Charlie Poole.\r\nCopyright (C) 2002-2004 James W. Newki
rk, Michael C. Two, Alexei A. Vorontsov.\r\nCopyright (C) 2000-2002 …Run Code Online (Sandbox Code Playgroud) 任何人都可以清楚地解释使用之间的区别
clientCredentialType=Windows,和 clientCredentialType=Ntlm托管WCF服务时在服务器端Web.config中?
我有一个SOAP 1.1(basicHttpBinding)服务,用于与现有客户端互操作.它使用ASP.NET角色,因此需要对客户端进行身份验证.
当我使用VS2005(Cassini)服务器来托管服务时,我必须ClientCredentialType=Ntlm如上所述指定,并检查VS2005中项目属性中的Ntlm身份验证框. ClientCredentialType=Windows不起作用 - 客户获得:
401未经授权的错误
但是,当我在IIS下运行时,它是另一种方式:ClientCredentialType=Windows工作,并ClientCredentialType=Ntlm失败.
任何人都可以解释这一点,并最好建议一种方法,我可以使用相同的web.config文件在Cassini和IIS中运行该服务?
更新
我的dev机器上有.NET 3.5 SP1,它是在域中运行的XP SP2.因此,Cassini在域帐户下运行,而IIS 5.1在本地帐户下运行.
我想知道它是否与这些文章中描述的.NET 3.5SP1的重大变化有关.
http://www.aspnetpro.com/newsletterarticle/2008/12/asp200812ab_l/asp200812ab_l.asp http://msmvps.com/blogs/alvin/archive/2008/11/14/net-3-5-sp1-breaking -change-to-wcf.aspx http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=354236
clientCredentialType=Windows当服务器在域帐户下运行时(这是我使用Cassini的情况 - 作为我的普通域用户帐户运行),情况听起来类似于失败,并且在本地帐户(这是我的IIS情况)下运行时工作.
问题是建议的修复程序需要更改WCF客户端配置文件 - 但在我的情况下,我使用SOAP 1.1(basicHttpBinding)与非WCF客户端.
我使用MsBuild.exe从控制台调试我的项目.在我编译项目后,我想开始并测试它,但我有问题,我无法启动Cassini测试项目.我可以从控制台运行Cassini吗?
当我运行我的应用程序时,它会打开许多cassini实例.如何快速停止所有或部分cassini实例.
我知道要从任务管理器中删除所有进程.可以用更好更快的方式完成吗?
我知道当IIS回收应用程序池时会调用此事件的事件处理程序,但是什么时候会发生?如果使用内置的Visual Studio服务器(Cassini)呢?如果我终止服务器进程,Application_End会被触发吗?
更新:我知道web.config和BIN文件夹更改.我对应用程序闲置一段时间之后关闭池而不触及任何内容感兴趣.
我们有一个包含2个项目的简单Visual Studio解决方案:
我们想在调试模式(F5)中简单地启动项目,并让A从B到Ajax消耗数据.我们没有可能在所有开发机器上配置IIS(因为其中一些是在客户端).问题可能是JavaScript需要与其发布的URL位于同一个域中.
有没有什么办法可以使用Visual Studio 2010开发服务器在同一端口上以调试模式同时启动两个应用程序?
如果这是不可能的,那么你可以推荐的下一个最好的东西是什么?
Membership.ValidateUser方法适用于开发服务器(iis express和cassini).但是在我的IIS上(它作为我的开发机器上的应用程序发布)它总是返回false.
即使用户已获批准,也未锁定,用户名和密码均正确无误.没有跟踪错误.?
http请求1: davutg-pc:6423/BpmService /登录?userName = abc&password = 0035
结果1: <boolean> true </ boolean>
http请求2: davutg-pc/BPM/BpmService /登录?userName = abc&password = 0035
结果2: <boolean> false </ boolean>
这是我的设置
<roleManager enabled="true" defaultProvider="MySQLRoleProvider"/>
<machineKey validationKey="E8B40EEA5A8EFC6F...key" decryptionKey="385..." validation="SHA1" />
<membership defaultProvider="MySQLMembershipProvider" hashAlgorithmType="SHA1">
<providers>
<remove name="MySQLMembershipProvider" />
<add type="MySql.Web.Security.MySQLMembershipProvider, MySql.Web, Version=6.5.5.0, Culture=neutral,
PublicKeyToken=c5687fc88969c44d"
name="MySQLMembershipProvider"
connectionStringName="LocalMySqlServer"
minRequiredPasswordLength="3"
minRequiredNonalphanumericCharacters="0"
requiresUniqueEmail="false"
requiresQuestionAndAnswer="false"
passwordFormat="Encrypted"/>
Run Code Online (Sandbox Code Playgroud)
我比较的machine.configs与Framework 64和Framework相同.
它适用于开发服务器,但在IIS上始终返回false.我可以用IIS 查询不同的服务,没有这样的问题.
另外: 当我为开发服务器输入错误密码"FailedPasswordAttemptCount"时.但它不会改变IIS.IIS出了什么问题.我只是调用Membership.ValidateUser(用户,传递)
任何建议将不胜感激!
是否可以在Cassini Webserver上运行经典的asp?
我有一个混合网站(经典的asp和dotnet)......
在查看asp.net(webservice)应用程序的性能时,我们注意到在IIS上它比Dev Server(18秒)慢得多(38秒).运行Visual Studio的Performance Profiler(在采样模式下)我们注意到差异是调用regex.Match ?! 在IIS中,它占用了70%的时间,在开发服务器上对同一个应用程序运行相同的测试,它占用的时间不到总时间的1%.
所以任何人都可以解释IIS和Dev Server之间这种奇怪的行为差异??? 我已经尝试了不同的应用程序池设置...但没有任何帮助
我对某事感到困惑.我正在使用Visual Studio 2010,并且我不确定VS 2010在运行Web应用程序时是使用IIS Express还是Cassini.有什么不同?
谢谢,
萨钦
cassini ×10
asp.net ×5
iis ×3
.net ×2
asp-classic ×1
c# ×1
iis-express ×1
nunit ×1
rest ×1
wcf ×1
web-config ×1
web-services ×1