您会为开发机器推荐哪种操作系统:
要么
截至目前,由于IIS和Vista SuckingBigTime,大多数"Web开发人员"可能使用Windows Server 2008.
这是否随Windows 7而改变?我们终于可以再次在客户端计算机上使用客户端操作系统,还是时机尚未到来?
我根据本文部署了一些Windows 2008 R2 AppFabric始终运行的自动启动服务.服务类型不同,有些是计划的Quartz.NET作业主机,有些是NServiceBus端点,有些是WCF Web服务.我遇到了部署问题,在发布服务后继续使用旧的DLL.一旦我停止相应的应用程序池并清除"C:\ Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files",就会使用新部署的DLL.如果我不清除该目录并仅重新启动应用程序池,则有时我在事件日志中收到以下错误:
在处理配置路径的托管应用程序服务自动启动期间出错:'MACHINE/WEBROOT/APPHOST/services/products/imports.retrieval'.返回的错误消息是:'尝试预加载应用程序时发生初始化错误.
例外:System.InvalidOperationException
消息:此应用程序域中已存在类型为"System.Web.Hosting.PreloadHost"的已知对象.
StackTrace:位于System.Web.HostingEnvironment.HretingWell的一个System.Web.Hosting.HostingEnvironment.CreateWellKnownObjectInstance(String assemblyQualifiedName,Boolean failIfExists)的System.Web.Hosting.ApplicationManager.CreateObjectInternal(String appId,在System.Web.Hosting.ProcessHost上的System.Web.Hosting.ProcessHost.PreloadApplicationIfRequired(String appId,IApplicationHost appHostParameter,HostingEnvironmentParameters hostingParameters,LockableAppDomainContext ac)中输入类型,IApplicationHost appHost,Boolean failIfExists,HostingEnvironmentParameters hostingParameters.<> c_ DisplayClasse.b _c(对象o)'.工作进程将被标记为不健康并将被关闭.数据字段包含错误代码.
错误代码指向本文,但似乎不适用.
我应该将应用程序池重新启动作为Web发布管道的一部分吗?
可能有用的是准确了解在使用Web部署时临时数据和应用程序池会发生什么.
我有一个证书,必须导入证书/受信任的根证书颁发机构并具有相应的私钥.
要从代码实际访问密钥,您需要设置私钥权限以授予对特定IIS应用程序池的完全访问权限.我完全理解,但问题是这只能在个人证书上设置,而不是在受信任的根证书上设置.
我尝试将相同的证书添加到个人商店,以下代码不会破坏:
X509Store store = new X509Store(StoreName.Root, StoreLocation.LocalMachine);
store.Open(OpenFlags.ReadOnly);
foreach (X509Certificate2 cert in store.Certificates)
{
if (cert.HasPrivateKey)
{
// access private key here
}
}
store.Close();
Run Code Online (Sandbox Code Playgroud)
如果我更改StoreName.Root为,在个人存储中设置证书的权限StoreName.My.我可以在那里访问它.但是我无法在root中访问它.它只是说:
键集不存在
有什么建议?
如果我将我的应用程序池标识设置为本地系统(它对我的计算机具有完全权限),我可以成功访问私钥.因此,主要问题是如何设置应用程序池标识的权限以访问受信任的根存储中的证书的私钥.
为什么信任root商店而非个人?
我有一个预先构建的程序集,可以在这个特定的商店中访问此证书,因此只需将证书放在个人存储中就行不通.这就是为什么在受信任的根证书的私钥上设置信任权限是必要的.
iis-7 certificate windows-7 windows-server-2008-r2 private-key
如何使用IIS7限制整个服务器的流量?
站点有一个限制功能,但它仅适用于单独的站点:

还有用于IIS的Bitrate Throtting插件,但据我所知,它只能为单独的用户配置:

有没有办法为整个服务器配置流量限制,而不是单个网站?
更新:
解决方案是(感谢@Arpit)设置<webLimits maxGlobalBandwidth="1000000" />为机器配置.不过要小心!IIS文档中存在错误:您应键入maxGlobalBand[w]idth(使用小写w),而不是maxGlobalBand[W]idth(使用大写W).
asp.net iis iis-7 windows-server-2008 windows-server-2008-r2
在powershell命令下运行时,我有以下结果,
PS C:\> Get-Process svchost
Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName
------- ------ ----- ----- ----- ------ -- -----------
546 34 18528 14884 136 49.76 260 svchost
357 14 4856 4396 47 18.05 600 svchost
314 17 6088 5388 42 12.62 676 svchost
329 17 10044 8780 50 12.98 764 svchost
1515 49 36104 38980 454 232.04 812 svchost
301 33 9736 6428 54 2.90 832 svchost
328 26 8844 9744 52 4.32 856 svchost
247 18 8144 …Run Code Online (Sandbox Code Playgroud) 无法读取配置文件,因为它超出了最大文件大小.
我的错误是因为我的rewritemap.config文件大小超过250KB(带有IIS 7.5的Windows 2008 R2 SP1服务器)
configuration iis-7.5 windows-server-2008-r2 url-rewrite-module
我有一个MVC应用程序,通常工作正常,但在特定的服务器上,它返回401.0"经过身份验证的用户无权访问处理请求所需的资源"错误.
通常它的工作原理如下:
我已登录过滤器,我可以看到用户进行了身份验证.所以,他们至少要做到这一点.但是,不是他们应该看到的页面,而是来自IIS的401.0 Unauthorized错误.
我尝试过的事情:
我为这个错误设置了一个跟踪规则,我有一个跟踪,但我不知道如何阅读它.我会在这里粘贴它,但它是一个非常长的XML文件.
该错误来自模块ManagedPipelineHandler,通知ExecuteRequestHandler,处理程序System.Web.Mvc.MvcHandler,错误代码为0x00000000.
一个细节:此服务器配置为使用端口90而不是端口80.我不确定为什么会导致问题,但也许会这样?
另一个细节:有问题的应用程序作为应用程序运行在"主"应用程序下面的虚拟目录中,该应用程序被配置为根网站.
一个新细节:此服务器是Windows Server 2008 R2,并从Windows Server 2003升级.我相信升级过程中的某些内容可能会解决问题,因为此类问题的"通常可疑"解决方案都没有帮助.
asp.net-mvc windows-server-2003 iis-7.5 windows-server-2008-r2
我已经创建了一个在localhost上工作正常的简单网站.所以我把它放在IIS Windows 2008r2服务器上,现在我的PHP脚本不再写入我的JSON文件了.我检查了服务器并安装了PHP,所以我真的不知道什么是错的或者在哪里看.
我还没有开始工作,所以我想更详细地解释一下情况.
因此,此脚本适用于localhost,但不适用于IIS服务器.
<?php
$myFile = "../json/countries.json";
$fh = fopen($myFile, 'w') or die("can't open file");
$stringData = json_encode($_POST["data"]);
fwrite($fh, $stringData);
fclose($fh)
?>
Run Code Online (Sandbox Code Playgroud)
我试过添加:
error_reporting(E_ALL);
ini_set('display_errors', '1');
Run Code Online (Sandbox Code Playgroud)
和
chmod("../json/countries.json", 0644);
Run Code Online (Sandbox Code Playgroud)
到PHP但没有看到任何不同的结果或任何错误.
这是启动进程的javascript函数,将对象输出到控制台确实显示了要保存的正确数据.
function saveJson(object, file) {
console.log("Saving JSON data: " + JSON.stringify(object));
$.ajax
({
type: "POST",
dataType : 'json',
async: false,
url: file,
data: { data:object },
success: function () {console.log("Thanks!"); },
failure: function() {console.log("Error!");}
});
Run Code Online (Sandbox Code Playgroud)
}
仍然没有更改json文件.任何善于使用Windows Server和php的人都知道为什么?
谢谢
我有无限循环PowerShell(测试目的)脚本,我希望将其作为Windows Server 2008 R2(标准)中的服务运行。
我正在使用以下命令创建Windows服务,
sc.exe create "My PS1Service" binPath= "powershell.exe -NoLogo -Path D:\TEST\test.ps1"
Run Code Online (Sandbox Code Playgroud)
结果是 [SC] CreateService SUCCESS
但是当我尝试运行该服务时My PS1Service,它返回以下错误
Windows Could not srart the My PS1Service service on Local
Computer
Error 1053: The service did not respond to the start or control
request in a family
Run Code Online (Sandbox Code Playgroud)
任何帮助这里!
windows powershell windows-services powershell-2.0 windows-server-2008-r2
我正在尝试设置一个php页面来自动发送验证邮件.我想使用gmail smtp服务器,我看过的每个地方都建议使用PHPMailer.我安装它并使用以下示例代码:
ini_set('display_errors', 1);
error_reporting(E_ALL);
require_once ("incl\PHPMailer\PHPMailerAutoload.php");
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->SMTPAuth = true;
$mail->SMTPSecure = "tls";
$mail->Host = "smtp.gmail.com";
$mail->Port = 587;
$mail->Username = "myemail@gmail.com";
$mail->Password = "mypassword";
$mail->SetFrom('myemail@gmail.com','Me');
$mail->AddAddress("ToAddress@gmail.com");
$mail->Subject = "Verify your email";
$mail->Body = "Thank you for signing up. Please verify your email using the link below:";
$mail->IsHTML (true);
if($mail->Send()){
echo "Success";
}else{
echo "Error";
}
Run Code Online (Sandbox Code Playgroud)
当尝试通过Firefox访问该页面时,该页面将加载几分钟,然后给出以下错误:
500内部服务器错误.
您正在查找的资源存在问题,无法显示.
服务器是运行IIS 7.5和PHP 5.5.8的Windows Server 2008 R2 Standard .我可以毫无问题地访问所有其他页面,但尝试呼叫似乎是超时或其他东西.我知道这是因为我对每一行进行了评论并慢慢添加了一些内容并且是导致该行为的行.$mail->Send()$mail->Send() …
iis ×3
iis-7.5 ×3
iis-7 ×2
php ×2
powershell ×2
windows ×2
windows-7 ×2
appfabric ×1
asp.net ×1
asp.net-mvc ×1
certificate ×1
javascript ×1
json ×1
phpmailer ×1
private-key ×1