标签: windows-server-2012

为什么我不能使用Azure上的自定义configProtectionProvider加密web.config/appSettings(Windows Server 2012)?

我有一个MVC应用程序,它部署到运行在Windows Server 2012虚拟机上的Windows Azure托管服务.在web.config文件中,我有3个部分加密的使用PKCS12ProtectedConfigurationProvider:connectionStrings,dataCacheClients,和system.net/mailSettings/smtp.以下是相关部分的外观:

<configuration>
  ...
  <configProtectedData>
    <providers>
      <add name="CustomProvider" thumbprint="[this is secret]"
          type="Pkcs12ProtectedConfigurationProvider.Pkcs12ProtectedConfigurationProvider, PKCS12ProtectedConfigurationProvider, Version=1.0.0.0, Culture=neutral, PublicKeyToken=34da007ac91f901d" />
    </providers>
  </configProtectedData>
  ...
  <connectionStrings configProtectionProvider="CustomProvider">
    <EncryptedData ... ommitted for brevity
  </connectionStrings>
  ...
  <system.net>
    <mailSettings>
      <smtp configProtectionProvider="CustomProvider">
        <EncryptedData ommitted for brevity
      </smtp>
    </mailSettings>
  </system.net>
  ...
  <dataCacheClients configProtectionProvider="CustomProvider">
    <EncryptedData ommitted for brevity
  </dataCacheClients>
  ...
</configuration>
Run Code Online (Sandbox Code Playgroud)

所有上述工作都完美无缺.部署到Azure时,连接字符串,SMTP邮件和数据缓存都可以正常工作.该PKCS12ProtectedConfiguration供应商使用我的自定义证书解密的部分,一切都很好.

但是我似乎无法使用相同的方法进行加密web.config/appSettings.当我尝试将以下内容部署到Azure时...

<configuration>
  ...
  <appSettings configProtectionProvider="CustomProvider">
    <EncryptedData ommitted for brevity
  </appSettings>
  ... …
Run Code Online (Sandbox Code Playgroud)

encryption web-config appsettings azure windows-server-2012

6
推荐指数
1
解决办法
2980
查看次数

什么是Windows Server 2012命令行等效于`aspnet_regiis -ir`?

正如几个问题中所述(Windows Server 2012上注册ASP.NET 4.5的替代方案 ; Server 2012 IIS 8 MVC应用程序显示默认的IIS主页或403/404 错误 ; IIS8上的WCF;*.svc处理程序映射不起作用) ,在Windows Service 2012上,该aspnet_regiis -ir命令不再起作用,而是产生以下输出:

此版本的操作系统不支持此选项.管理员应该使用"打开/关闭Windows功能"对话框,服务器管理器管理工具或dism.exe命令行工具,使用IIS8安装/卸载ASP.NET 4.5.有关详细信息,请参阅http://go.microsoft.com/fwlink/?LinkID=216771.

在我们的例子中,我们只想运行此命令来重新注册ASP.NET 4.5,因为其他一些安装未注册它:已经安装了ASP.NET 4.5.

使用受引用帖子启发的UI(添加/删除角色/功能),我发现删除WCF的HTTP激活功能然后再次添加就足够了.(但我需要卸载/重新安装恰好依赖于WCF HTTP激活的功能......)

问题:如何通过Windows Server 2012上的命令行完成同样的事情?

(我看着这个dism.exe东西,但它看起来令人生畏,并dism.exe -?没有帮助我.)

谢谢!

asp.net asp.net-4.5 iis-8 windows-server-2012

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

Windows Server 2012与ASP.net 1.1?

是否可以在Windows Server 2012上安装ASP.net 1.1?有一些遗留应用程序,目前移植过于耗时/昂贵.

我能够在Windows Server 2008上经历一个复杂的过程,在那里我组装了一个安装程序包.不确定在Server 2012上是否可以使用相同的功能.

有人有这方面的工作经验吗?

asp.net asp.net-1.1 windows-server-2012

6
推荐指数
2
解决办法
3万
查看次数

密钥集不存在/身份无效

注意:我在这里发现了几个类似的问题,但是那个被解决的问题对我来说并不适用.所以我想我会开一个新问题.

我重新启动了我们的服务器2012框,它托管我们新的.net应用程序.这样做之后,我开始收到503错误.经过调查,这似乎是一个身份问题.

在进一步说明之前,我应该说这个帐户已经工作了几个月了.我以前重新启动过,一切都很顺利.

所以我在日志中得到(很常见的)5059,5057和5021错误.他们归结为:

应用程序池SVFileUpload的标识无效.为身份指定的用户名或密码可能不正确,或者用户可能没有批量登录权限.如果未更正标识,则在应用程序池收到第一个请求时将禁用应用程序池.如果批处理登录权限导致问题,则在Windows进程激活服务(WAS)重试登录之前,必须在授予权限后更改IIS配置存储中的标识.如果在处理完第一次应用程序池请求后标识仍然无效,则将禁用应用程序池.数据字段包含错误编号.

我想我只是确保密码和帐户是正确的,所以我去应用程序池,选择identity-> custom并确保它设置正确.我收到一个错误:

执行此操作时出错.详细信息:键集不存在(HRESULT异常:0x80090016)

这对我来说很奇怪,所以我尝试将应用程序池设置为内置帐户,并且工作正常.每当我尝试设置自定义帐户时,我都会收到此错误消息.此外,不会运行使用自定义帐户的应用池.

我用Google搜索了一下,不确定哪个错误是我需要跟踪的.我试过了:

  • 通过aspnet_工具在命令行上注册帐户
  • 确保用户位于IIS_IUSRS组中
  • 更改C:\ ProgramData\Microsoft\Crypto\RSA\MachineKeys文件的权限
  • 添加一个全新的用户并尝试将应用程序池设置为该用户帐户

我在Google上尝试了几个随机的东西,但我不记得了.

这个错误对我来说没有意义,而且似乎是随机的.我需要帮助搞清楚1)为什么我不能将应用程序池设置为自定义帐户以及2)为什么身份不再适用于我的应用程序

-Edit
我最近删除并重新添加了我一直在使用的用户帐户.我认为这解决了这个问题.剩下的问题是我无法更新应用程序池,因为"keyset不存在"错误.

iis windows-server-2012

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

New-Object:术语New-Object不被识别为cmdlet的名称

我想为SharePoint中的app dev配置高可信应用程序,最后这样做我需要先在powershell编辑器中插入一些命令,如:

$publicCertPath = "C:\Certs\HighTrustSampleCert.cer" 
$certificate = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2($publicCertPath)
Run Code Online (Sandbox Code Playgroud)

我在Windows Server 2012 R2上使用Windows PowerShell,其中包括Windows PowerShell 4,默认情况下包含新对象cmd-let ...但我不明白,为什么我的系统不识别该命令....时间我收到以下错误:New-Object:术语'New-Object'不被识别为cmdlet的名称.

每次打开电源外壳时都会显示以下错误:

*选择 :

术语"选择对象"不被识别为cmdlet,函数,脚本文件或可操作程序的名称.检查名称的拼写,或者如果包含路径,请验证路径是否正确,然后重试.在C:\ Program Files\Common Files\Microsoft Shared\Web Server Extensions\15\CONFIG\POWERSHELL\Registration\SharePoint.ps1:1 char:16 + $ ver = $ host | select version + ~~~~~~ + CategoryInfo:ObjectNotFound:(Select-Object:String)[],逗号ndNotFoundException + FullyQualifiedErrorId:CommandNotFoundException设置位置:术语"设置位置"不被识别为cmdlet的名称,功能,脚本文件或可操作程序.检查名称的拼写,或者如果包含路径,请验证路径是否正确,然后再次尝试在C:\ Program Files\Common Files\Microsoft Shared\Web Server Extensions\15\CONFIG\POWERSHELL\Registration\SharePoint. ps1:4 char:1 + Set-location $ home + ~~~~~~~~~~~~ + CategoryInfo:ObjectNotFound:(Set-location:String)[],Comman dNotFoundException + FullyQualifiedErrorId:CommandNotFoundException*

我认为这是正常的,直到今天......它与错误有任何关系吗?这是洞(新对象)异常堆栈:

New-Object:术语"New-Object"不被识别为cmdlet,函数,脚本文件或可操作程序的名称.检查名称的拼写,或者如果包含路径,请验证路径是否正确,然后重试.在行:1 char:16 + $ certificate = New-Object System.Security.Cryptography.X509Certificates.X509Cert ... + ~~~~~~~~~~ + CategoryInfo:ObjectNotFound:(New-Object:String)[ ],CommandN otFoundException + FullyQualifiedErrorId:CommandNotFoundException …

powershell sharepoint-2013 windows-server-2012

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

如何在Windows服务器上设置转发HTTP和HTTPS请求的转发代理?

我有一个Windows服务器2012 VPS运行Cloudflare后面的Web应用程序.应用程序需要根据用户操作启动出站连接(例如,从URL上传图像).问题是这会"泄漏"我服务器的IP地址并增加DDOS攻击的风险.

因此,我想通过设置转发代理来防止发现服务器的IP.到目前为止,我的研究表明,这不是一项简单的任务,而是需要设置另一个VPS作为代理.

这个额外的转发代理VPS是否必须运行Windows?他们的任何付费服务是否可以作为我服务器的转发代理(如cloudflare的反向代理系统)?

此外,似乎建议的IIS转发代理插件,应用程序请求路由,不适用于HTTPS.

是否有两种类型的传出(HTTPS + HTTP)请求的解决方案?

我真的迷失在这里,所以任何帮助或建议将不胜感激.

iis proxy windows-server-2012

6
推荐指数
1
解决办法
5774
查看次数

当前状态(断电)ESXi主机无法启动

我有这个工作的Windows Server 2012 VM,需要重新启动.重新启动虚拟机后,更改了一些设置(连接了DVD驱动器),它会再次启动.

现在它说:

Failed - The attempted operation cannot be performed in the current state (Powered off).
Run Code Online (Sandbox Code Playgroud)

我无法恢复设置,因为这个状态,我检查了主机,尝试从那里启动它,但没有运气.还尝试重新启动,重置等但没有任何工作,它不在正在运行的VM列表中.

提前致谢!

esxi virtual-machine windows-server-2012

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

Windows Task Scheduler“启动请求已忽略,实例已在运行”

我有一项任务,每天每5分钟触发一次。但是最近,我发现任务总是在上午8:00到9:00之间失败,但是所有其他任务(每1分钟触发一次)都没有问题。所以我不知道怎么了。

从下面的日志中,我可以看到在8:20有一个触发器,它最终在8:30终止了。实际上,该任务非常简单,只需不到1分钟即可完成。所以我不知道为什么会有“启动请求被忽略,实例已经在运行”的警告。

任务日志

windows-server-2012 taskscheduler

6
推荐指数
1
解决办法
7568
查看次数

从Process.Start()调用时,C#应用程序随机挂起

我已设置Windows服务来管理自定义.Net任务。组织为:

-Windows Service监视计划,并根据需要启动工作程序.exe。

-Worker .exe(轻量级Winform应用程序)使用命令行参数来拉起DLL(插件)并运行一些代码。

这已经好几个月了。我最近将其迁移到Server 2012(从2008 IIRC起)-这可能无关紧要,但这很难说。自迁移后的一段时间以来,我遇到了一个问题,其中worker .exe在被process.start()调用后“启动”,但没有到达我的代码。没有错误或任何东西,它似乎在应用程序加载期间冻结。

启动它的服务代码是相当标准的。

// Create a temp folder and copy the executable to it
// (so the source exe isn't always in use and can be swapped out)

Process p = new Process();
ProcessStartInfo psi = new ProcessStartInfo();
psi.FileName = Path.Combine(temp.Path, Path.GetFileName(ExecutablePath));
psi.Arguments = CommandLineArgs.ConcatenateList(" ");
psi.UseShellExecute = false;
psi.RedirectStandardError = true;
psi.RedirectStandardInput = true;
psi.RedirectStandardOutput = true;
psi.CreateNoWindow = true;
psi.ErrorDialog = false;
psi.WindowStyle = ProcessWindowStyle.Hidden;
p.StartInfo = psi;
p.Start();

// read …
Run Code Online (Sandbox Code Playgroud)

.net c# windows-services windows-server-2012

5
推荐指数
1
解决办法
2140
查看次数

ASP.NET MVC 5 Web 应用程序性能下降

我正在开发一个新的 ASP.NET MVC Web 应用程序,我看到所有页面都需要大约 12-15 秒才能加载,而不管控制器或视图中有什么。我有大约需要 8 秒的页面,除了 return View() 和在 html 中仅使用页面名称查看页面之外,控制器中没有代码。

我运行了 SQL Profiler 并且响应非常快,所以看起来 MVC 路由或其他东西一直在占用。到目前为止,我尝试了以下方法:

  1. 从 global.asax 中删除所有视图引擎并仅使用 Razor 视图引擎
  2. 为 css 和 js 启用捆绑和缩小
  3. 在 IIS 7 下为静态和动态内容启用压缩
  4. 我在我们的开发服务器上部署了 Release Build,但性能仍然相同

请让我知道 MVC 应用程序性能缓慢的原因可能是什么。

另一方面,对于大约有 150-250 个用户同时浏览的企业 Web 应用程序,我应该拥有的最佳服务器配置是什么,例如 CPU、处理器、RAM 等。

asp.net-mvc performance iis-7 asp.net-mvc-routing windows-server-2012

5
推荐指数
1
解决办法
2805
查看次数