我有一个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) 正如几个问题中所述(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 -?没有帮助我.)
谢谢!
是否可以在Windows Server 2012上安装ASP.net 1.1?有一些遗留应用程序,目前移植过于耗时/昂贵.
我能够在Windows Server 2008上经历一个复杂的过程,在那里我组装了一个安装程序包.不确定在Server 2012上是否可以使用相同的功能.
有人有这方面的工作经验吗?
注意:我在这里发现了几个类似的问题,但是那个被解决的问题对我来说并不适用.所以我想我会开一个新问题.
我重新启动了我们的服务器2012框,它托管我们新的.net应用程序.这样做之后,我开始收到503错误.经过调查,这似乎是一个身份问题.
在进一步说明之前,我应该说这个帐户已经工作了几个月了.我以前重新启动过,一切都很顺利.
所以我在日志中得到(很常见的)5059,5057和5021错误.他们归结为:
应用程序池SVFileUpload的标识无效.为身份指定的用户名或密码可能不正确,或者用户可能没有批量登录权限.如果未更正标识,则在应用程序池收到第一个请求时将禁用应用程序池.如果批处理登录权限导致问题,则在Windows进程激活服务(WAS)重试登录之前,必须在授予权限后更改IIS配置存储中的标识.如果在处理完第一次应用程序池请求后标识仍然无效,则将禁用应用程序池.数据字段包含错误编号.
我想我只是确保密码和帐户是正确的,所以我去应用程序池,选择identity-> custom并确保它设置正确.我收到一个错误:
执行此操作时出错.详细信息:键集不存在(HRESULT异常:0x80090016)
这对我来说很奇怪,所以我尝试将应用程序池设置为内置帐户,并且工作正常.每当我尝试设置自定义帐户时,我都会收到此错误消息.此外,不会运行使用自定义帐户的应用池.
我用Google搜索了一下,不确定哪个错误是我需要跟踪的.我试过了:
我在Google上尝试了几个随机的东西,但我不记得了.
这个错误对我来说没有意义,而且似乎是随机的.我需要帮助搞清楚1)为什么我不能将应用程序池设置为自定义帐户以及2)为什么身份不再适用于我的应用程序
-Edit
我最近删除并重新添加了我一直在使用的用户帐户.我认为这解决了这个问题.剩下的问题是我无法更新应用程序池,因为"keyset不存在"错误.
我想为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 …
我有一个Windows服务器2012 VPS运行Cloudflare后面的Web应用程序.应用程序需要根据用户操作启动出站连接(例如,从URL上传图像).问题是这会"泄漏"我服务器的IP地址并增加DDOS攻击的风险.
因此,我想通过设置转发代理来防止发现服务器的IP.到目前为止,我的研究表明,这不是一项简单的任务,而是需要设置另一个VPS作为代理.
这个额外的转发代理VPS是否必须运行Windows?他们的任何付费服务是否可以作为我服务器的转发代理(如cloudflare的反向代理系统)?
此外,似乎建议的IIS转发代理插件,应用程序请求路由,不适用于HTTPS.
是否有两种类型的传出(HTTPS + HTTP)请求的解决方案?
我真的迷失在这里,所以任何帮助或建议将不胜感激.
我有这个工作的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列表中.
提前致谢!
我有一项任务,每天每5分钟触发一次。但是最近,我发现任务总是在上午8:00到9:00之间失败,但是所有其他任务(每1分钟触发一次)都没有问题。所以我不知道怎么了。
从下面的日志中,我可以看到在8:20有一个触发器,它最终在8:30终止了。实际上,该任务非常简单,只需不到1分钟即可完成。所以我不知道为什么会有“启动请求被忽略,实例已经在运行”的警告。
我已设置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) 我正在开发一个新的 ASP.NET MVC Web 应用程序,我看到所有页面都需要大约 12-15 秒才能加载,而不管控制器或视图中有什么。我有大约需要 8 秒的页面,除了 return View() 和在 html 中仅使用页面名称查看页面之外,控制器中没有代码。
我运行了 SQL Profiler 并且响应非常快,所以看起来 MVC 路由或其他东西一直在占用。到目前为止,我尝试了以下方法:
请让我知道 MVC 应用程序性能缓慢的原因可能是什么。
另一方面,对于大约有 150-250 个用户同时浏览的企业 Web 应用程序,我应该拥有的最佳服务器配置是什么,例如 CPU、处理器、RAM 等。
asp.net-mvc performance iis-7 asp.net-mvc-routing windows-server-2012
asp.net ×2
iis ×2
.net ×1
appsettings ×1
asp.net-1.1 ×1
asp.net-4.5 ×1
asp.net-mvc ×1
azure ×1
c# ×1
encryption ×1
esxi ×1
iis-7 ×1
iis-8 ×1
performance ×1
powershell ×1
proxy ×1
web-config ×1