标签: windows-server-2008-r2

Windows Server 2008 R2或Windows 7

您会为开发机器推荐哪种操作系统:

  • Windows Server 2008 R2

要么

  • Windows 7的

截至目前,由于IIS和Vista SuckingBigTime,大多数"Web开发人员"可能使用Windows Server 2008.

这是否随Windows 7而改变?我们终于可以再次在客户端计算机上使用客户端操作系统,还是时机尚未到来?

operating-system windows-7 windows-server-2008-r2

7
推荐指数
1
解决办法
1万
查看次数

从VS发布Windows AppFabric服务后,仍然使用Web部署临时缓存的DLL

我根据本文部署了一些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 windows-server-2008-r2 appfabric

7
推荐指数
0
解决办法
1370
查看次数

PrivateKey信任本地计算机"受信任的根"证书的权限

我有一个证书,必须导入证书/受信任的根证书颁发机构并具有相应的私钥.

要从代码实际访问密钥,您需要设置私钥权限以授予对特定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

7
推荐指数
1
解决办法
2万
查看次数

IIS7:限制服务器的流量

如何使用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

7
推荐指数
1
解决办法
5676
查看次数

如何使用PowerShell计算和使用单个进程的多个实例的内存?

在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)

windows powershell powershell-2.0 windows-server-2008-r2

7
推荐指数
1
解决办法
4027
查看次数

无法读取配置文件,因为它超过了最大文件大小

无法读取配置文件,因为它超出了最大文件大小.

我的错误是因为我的rewritemap.config文件大小超过250KB(带有IIS 7.5的Windows 2008 R2 SP1服务器)

configuration iis-7.5 windows-server-2008-r2 url-rewrite-module

7
推荐指数
1
解决办法
7980
查看次数

401.0 - 未经授权 - 使用IIS 7的MVC应用程序

我有一个MVC应用程序,通常工作正常,但在特定的服务器上,它返回401.0"经过身份验证的用户无权访问处理请求所需的资源"错误.

通常它的工作原理如下:

  1. 用户登录到单独的应用程序,获取用户ID和令牌,单击指向此应用程序的链接.用户ID和令牌进入URL.
  2. 用户使用Anonymous auth进入我的应用程序,然后在我们的LogonAuthorize过滤器中,我们从查询字符串中获取ID和令牌以对用户进行身份验证.

我已登录过滤器,我可以看到用户进行了身份验证.所以,他们至少要做到这一点.但是,不是他们应该看到的页面,而是来自IIS的401.0 Unauthorized错误.

我尝试过的事情:

  • 授予IUSR访问目录的权限
  • 运行mirate.exe(它是一个实体框架应用程序)
  • 删除解决方案中的所有[Authorize]属性...我知道我们将其作为BaseController对象的Initialize()事件.我们似乎没有将其转换为继承BaseController的特定控制器操作,例如Home/Index.在BaseController.Initialize()之后我没有看到任何记录.
  • 授予网络服务访问目录的权限
  • 将应用程序池从集成切换到经典(我得到一个空白屏幕而不是401.0错误,这很奇怪.日志中的认证内容相同.)
  • 使用本地用户帐户而不是网络服务与应用程序池,使该帐户访问该目录
  • 设置"匿名"使用的不同帐户
  • 重建和重新部署应用程序(多次)
  • 不同的身份验证方案:打开Windows身份验证会给出401.1,关闭所有身份验证方案会产生401.2
  • 确保Global.asax在正确的位置
  • aspnet_regiis -i
  • 撕掉我所有的头发(适得其反)

我为这个错误设置了一个跟踪规则,我有一个跟踪,但我不知道如何阅读它.我会在这里粘贴它,但它是一个非常长的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

7
推荐指数
1
解决办法
2万
查看次数

PHP脚本写入localhost上的文件但不写入IIS服务器上

我已经创建了一个在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的人都知道为什么?

谢谢

javascript php iis json windows-server-2008-r2

7
推荐指数
1
解决办法
1278
查看次数

如何创建Windows服务以运行Powershell脚本?

我有无限循环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

7
推荐指数
1
解决办法
2万
查看次数

PHPMailer加载一段时间,然后给出500 - 内部服务器错误

我正在尝试设置一个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.5PHP 5.5.8的Windows Server 2008 R2 Standard .我可以毫无问题地访问所有其他页面,但尝试呼叫似乎是超时或其他东西.我知道这是因为我对每一行进行了评论并慢慢添加了一些内容并且是导致该行为的行.$mail->Send()$mail->Send() …

php phpmailer iis-7.5 windows-server-2008-r2

7
推荐指数
1
解决办法
1万
查看次数