通过使用以下参数从C#调用pkgmgr.exe,我能够在应用程序开发部分下启用IIS 7功能ASP.NET和.NET可扩展性.
/iu:IIS-WebServerRole;IIS-WebServer;IIS-CommonHttpFeatures;IIS-StaticContent;IIS-DefaultDocument;IIS-DirectoryBrowsing;IIS-HttpErrors;IIS-HttpRedirect;IIS-ApplicationDevelopment;IIS-ASPNET;IIS-NetFxExtensibility;...... /norestart /quiet
对于IIS8,它不再起作用,因为应用程序开发功能下没有ASP.NET选项.而是ASP.NET 3.5和ASP.NET 4.5(.NET Extensibility 3.5和.NET Extensibility 4.5).
如何使用pkgmgr.exe启用它们?
我收到了这个我无法弄清楚的奇怪错误。在 Windows 8.1、IIS 8.5 上运行。该站点在 Microsoft Azure 上运行良好,因此它一定是本地配置问题。我在 IIS Express 中遇到与在 IIS 中相同的错误。
这个问题已经存在好几天了,这让我很沮丧。我什至无法测试简单的 CSS/内容更改(这是我正在尝试做的),而不需要每次都将它们推送到 Azure 进行检查。
错误:
Module global.asax
Notification EndRequest
Handler System.Web.Mvc.MvcHandler
Error Code 0x00000000
Requested URL https://localhost:443/
Physical Path C:\inetpub\wwwroot\dev\
Logon Method Anonymous
Logon User Anonymous
Request Tracing Directory C:\inetpub\logs\FailedReqLogFiles
Run Code Online (Sandbox Code Playgroud)
这是警告之前部分的跟踪。
我尝试过的事情
全部,
我正在开发一个非常简单的 Web API 2 项目。由于某种原因,我无法让 CORS 正常工作,除非我将其放入 web.config 文件中。我按照MSDN 文章和这篇ASP.NET 文章中的说明进行操作,但我一定遗漏了一些东西。
全局.asax.cs
protected void Application_Start()
{
WebApiConfig.Register(GlobalConfiguration.Configuration);
}
Run Code Online (Sandbox Code Playgroud)
WebApiConfig.cs
public static void Register(HttpConfiguration config)
{
config.EnableCors(new EnableCorsAttribute("*","*","*"));
config.MapHttpAttributeRoutes();
}
Run Code Online (Sandbox Code Playgroud)
JavaScript
$.ajax({
url: '//myapidomain.com/buildings'
}).done(function (data) {
var theList = $('.buildings'),
theListHTML = "",
response = JSON.parse(data);
$.each(response.Buildings.Data, function () {
theListHTML += '<li>' + this.Description + '</li>';
});
theList.html(theListHTML);
});
Run Code Online (Sandbox Code Playgroud)
我已经查看了几乎每一个 Stack Overflow(例如这个)和 MSDN 论坛帖子(例如这个),据我所知,这应该有效。该应用程序托管在运行 4.0 的 IIS 8 …
是否可以将ASP.NET(核心)应用程序发布到IIS 8上的运行站点,而无需手动停止和启动网站?
Visual Studio 2015不断给出文件正在使用的错误.我正在使用发布到文件系统,因为我的网络部署到我们网络中的服务器最后失败了,它无法在端口443的服务器上进行身份验证.
我不介意IIS必须回收应用程序池,但是当我经常不得不放下应用程序,发布(大约需要一分钟)并重新启动它时,它对用户来说并不是很好.
另一种选择是类似于运行相同应用程序的2个网站,但前提是这是可自动化的.然后它会放下2中的1,更新它,把它打开,放下第二个,更新它并启动它.
第三个选项类似于热更新,我可以在应用程序启动时更新它.
任何人都可以指出我正确的方向(也许是一些博客文章),因为我的谷歌搜索没有给我任何好的信息?
我有一个Windows 2012服务器和hello world节点js文件(仅一个js文件以及Node_module文件夹)。
现在,我需要将其部署到Windows服务器,并需要全局运行。
怎么做?请帮我!
我已阅读更多文章。但是很困惑。我在服务器上安装了Node app。我在本地运行。这是工作。但是如何在全球范围内做到这一点。(www.xxxx.com/ABC)
谢谢
桑卡兰A
我正在使用 HttpClient 调用 Web Api REST 端点,偶尔我会看到一个随机的 401 未授权状态。
这是我的 HttpClient 包装器,它是为可重用性目的而创建的。我已经修改了它以保持这篇文章的简单而不修改核心部分。
public class HttpHelper
{
public const string JsonContentType = "application/json";
public T PostAsJsonObject<T>(string uri, T t) where T : class
{
using (HttpResponseMessage response = PostJsonHttpRequest(uri, JsonContentType, t))
{
response.EnsureSuccessStatusCode();
return response.Content.ReadAsAsync<T>().Result;
}
}
private HttpResponseMessage PostJsonHttpRequest<T>(string uri, string contentType, T content) where T : class
{
if (String.IsNullOrEmpty(uri))
{
throw new ArgumentNullException("uri");
}
HttpResponseMessage response = CreateHttpClient(contentType).PostAsJsonAsync(uri, content).Result;
return response;
}
private HttpClient CreateHttpClient(string contentType)
{
var …Run Code Online (Sandbox Code Playgroud) 当我在VS中发布时,它的消息是"Publish Failed".
输出:
启动Web部署将应用程序/包发布到https:// -myStite -... D:\ VisualStudio\MSBuild\Microsoft\VisualStudio\v15.0\Web\Microsoft.Web.Publishing.targets(4292,5):错误:Web部署任务失败.((30/10/2017 08:19:07)在远程计算机上处理请求时发生错误.)
(30/10/2017 08:19:07)在远程计算机上处理请求时发生错误.值不能为空.在System.Version.Parse(String输入),位于Microsoft的Microsoft.Web.Deployment.DeploymentAgentWorkerRequest.get_MaximumSupportedVersion()中的System.Version.ctor(String version),Microsoft的Microsoft.Web.Deployment.DeploymentAgent.HandleClientServerVersionMismatch(DeploymentAgentWorkerRequest workerRequest). Microsoft.Web.Deployment.DeploymentAgent.BeginProcessRequest(DeploymentAgentWorkerRequest workerRequest,AsyncCallback回调,Object extraData)上的Microsoft.Web.Deployment.DeploymentAgent.HandleRequest(DeploymentAgentAsyncData asyncData)中的Web.Deployment.DeploymentAgent.HandleRequestWorker(DeploymentAgentAsyncData asyncData)发布无法部署.
=========构建:1成功,0失败,0最新,0跳过========== =========发布:0成功, 1失败,0跳过==========
在服务器上的EventViwer中,此异常:
用户:-my user-客户端IP:10.0.0.138内容类型:版本:9.0.0.0 MSDeploy.VersionMin:MSDeploy.VersionMax:MSDeploy.Method:MSDeploy.RequestId:MSDeploy.RequestCulture:MSDeploy.RequestUICulture:ServerVersion:9.0.1955.0发生了传播到客户端的跟踪部署代理异常.请求ID''.索取时间戳:'30/10/2017 08:02:11'.错误详细信息:System.ArgumentNullException:值不能为null.参数名称:在Microsoft.Web.Deployment.DeploymentAgent.HandleClientServerVersionMismatch(DeploymentAgentWorkerRequest workerRequest)上的Microsoft.Web.Deployment.DeploymentAgentWorkerRequest.get_MaximumSupportedVersion()处的System.Version.ctor(String version)处输入System.Version.Parse(String input) )Microsoft.Web.Deployment.DeploymentAgent.HandleRequestWorker(DeploymentAgentAsyncData asyncData)at Microsoft.Web.Deployment.DeploymentAgent.HandleRequest(DeploymentAgentAsyncData asyncData)
在过去,他工作得很好(保存配置相同),现在有时会失败.
我正在IIS上使用以下设置托管ASPNET Core 1.1应用程序,以使其始终运行
但是,我看到该应用程序不时被终止.在终止之前,我在日志中看到以下内容
2018-03-14 17:20:53.202 [Information] Request starting HTTP/1.1 POST http://127.0.0.1:32751/myapp/iisintegration 0
2018-03-14 17:20:53.205 [Information] Request finished in 3.98ms 202
2018-03-14 17:20:53.203 [Error] Unhandled exception
System.Threading.Tasks.TaskCanceledException: A task was canceled.
Run Code Online (Sandbox Code Playgroud)
在POST /iisintegration看起来很有趣.IIS是否发送命令终止应用程序?
PS
在挖掘IIS集成中间件之后,看起来POST实际上是IIS发送终止命令.这是处理它的代码
private static readonly PathString ANCMRequestPath = new PathString("/iisintegration");
...
// Handle shutdown from ANCM
if (HttpMethods.IsPost(httpContext.Request.Method) &&
httpContext.Request.Path.Equals(ANCMRequestPath) &&
string.Equals(ANCMShutdownEventHeaderValue, httpContext.Request.Headers[MSAspNetCoreEvent], StringComparison.OrdinalIgnoreCase))
{
// Execute shutdown task on background thread without waiting for completion
var shutdownTask = Task.Run(() => …Run Code Online (Sandbox Code Playgroud) 我想在我的网络应用程序中测试发送电子邮件,该应用程序使用 .net core 3 和 C#。
问题是我所在的公司网络阻止了端口 587(目前)。
我看到一篇文章说你可以使用这个
mailClient.DeliveryMethod = SmtpDeliveryMethod.PickupDirectoryFromIis;
Run Code Online (Sandbox Code Playgroud)
但我使用未针对 IIS 配置的 .net core 进行托管,因此出现错误“不支持 IIS 传递”。
IIS 是测试本地发送电子邮件的唯一方法吗?