我知道我们可以RoleEnvironment.IsAvailable用来检查代码是否在Web/Worker角色中运行.如何Azure的网站?
我尝试了上面的RoleEnvironment代码,但它总是返回false.我需要运行一些配置代码,Application_Start所以我不能依赖于请求的东西.
任何帮助表示赞赏.
由于IIS8功能称为HttpPlatformHandler ,因此可以在Azure Web Apps上运行suave.io应用程序.我尝试以相同的方式运行自托管的OWIN应用程序,但在启动时遇到异常:
Unhandled Exception: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.Net.HttpListenerException: Access is denied
at System.Net.HttpListener.SetupV2Config()
at System.Net.HttpListener.Start()
at Microsoft.Owin.Host.HttpListener.OwinHttpListener.Start(HttpListener listener, Func`2 appFunc, IList`1 addresses, IDictionary`2 capabilities, Func`2 loggerFactory)
at Microsoft.Owin.Host.HttpListener.OwinServerFactory.Create(Func`2 app, IDictionary`2 properties)
--- End of inner exception stack trace ---
at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] …Run Code Online (Sandbox Code Playgroud) 我有一个网站作为专用Azure计划上的Web应用程序运行.它连接到Redis,SQL Azure和MongoDB后端.该网站已经运行好几个星期,然后没有任何新的代码,我现在得到很多套接字例外,如下所示.
尝试以其访问权限禁止的方式访问套接字.
连接到Redis,SQL Azure和MongoDB时,网站间歇性地收到错误,这是没有意义的.我更改了网站的定价层,这会将网站从一个VM移动到另一个VM,并且错误消失了几天并再次返回.
我刚刚将网站从S3更改为S2(使其变小)并且它们已经消失但我不知道有多长时间.我该如何解决?Azure是否限制站点的套接字数量?Azure中的某个站点是否存在可能导致此问题的设置?
我在azure上有一个1个网站和1个数据库以及1个SSL.我曾经拥有'基本'托管套餐,但是每月支付70美元用于裸机设置,所有内容的最小扩展.
我意识到我的低流量站点不需要专用机器所以我尝试转移到共享计划.现在它告诉我,我必须在基本计划上才能拥有SSL.
有没有解决的办法?或者我实际上是否希望每月支付大约70美元用于最基本的网站设置?
出乎意料的是,我们的Azure网络应用程序正在喷出有关不受支持的文化的错误.我们会在首页上显示要显示的国家/地区列表,但这会突然出错.在其他各种Web应用程序上也使用相同的代码,并且它们没有问题.
以下代码给出了一个问题.
private List<SelectListItem> Countries()
{
RegionInfo country = new RegionInfo(new CultureInfo("nl-BE", false).LCID);
List<SelectListItem> countryNames = new List<SelectListItem>();
foreach (CultureInfo cul in CultureInfo.GetCultures(CultureTypes.SpecificCultures))
{
country = new RegionInfo(new CultureInfo(cul.Name, false).LCID);
countryNames.Add(new SelectListItem() { Text = country.DisplayName, Value = country.DisplayName });
}
return countryNames.GroupBy(x => x.Text).Select(x => x.FirstOrDefault()).ToList<SelectListItem>().OrderBy(x => x.Text).ToList();
}
Run Code Online (Sandbox Code Playgroud)
我在for-each中放置了一个try-catch,因此我可以查明出错的文化.以下文化突然返回错误:
<errors>
<LCID>4096</LCID>
<Name>ar-001</Name>
</errors>
<errors>
<LCID>4096</LCID>
<Name>el-CY</Name>
</errors>
<errors>
<LCID>4096</LCID>
<Name>en-BB</Name>
</errors>
<errors>
<LCID>4096</LCID>
<Name>en-BS</Name>
</errors>
<errors>
<LCID>4096</LCID>
<Name>en-HK</Name>
</errors>
<errors>
<LCID>4096</LCID>
<Name>en-NL</Name>
</errors>
<errors>
<LCID>4096</LCID>
<Name>en-SE</Name>
</errors>
<errors> …Run Code Online (Sandbox Code Playgroud) 我们的网络应用程序流程定期重新启动,我们无法确定原因.
在查看应用程序事件时(使用Azure门户中的"诊断和解决问题"刀片),Info"IIS AspNetCore模块"中存在大量以下日志
Failed to gracefully shutdown process '14040'.
Run Code Online (Sandbox Code Playgroud)
Application 'MACHINE/WEBROOT/APPHOST/myapplication__xxxx' started process '31628' successfully and is listening on port '17663'.
Run Code Online (Sandbox Code Playgroud)
在我们的应用程序日志中没有任何可疑的资源使用情况.
解决这些流程重启背后原因的最佳方法是什么?
在Web应用程序的诊断日志中进行Web日志记录之后,我现在每次重新启动后都会从W3SVC-WP中记录错误,但消息是无意义的:
1<br/>5<br/>50000780
Run Code Online (Sandbox Code Playgroud)
FailedRequestTracing模块无法将缓冲事件写入日志文件以查找与故障定义匹配的请求.在更正此情况之前,不会生成任何日志.问题在最后的%2分钟内至少发生了1次.数据是错误的.
我不确定这是否与我们的诊断日志配置有关,但似乎不太可能.
根据Brando Zhang的建议,我使用了Web App Crash Diagnoser扩展,并尝试在我的应用程序进程和w3wp上监视第二次机会未处理的异常,但没有任何东西被抛弃.
根据我的理解,第一次机会异常不会导致进程崩溃,因此无需监视这些内容.
azure-web-sites iis-8 azure-app-service-plans azure-web-app-service asp.net-core
我们遇到Azure应用服务问题.我们的一个Web服务(MVC)在启动时缓存数据库中的数据(Application_Start) - 这大约需要3分钟.在此之前,我们无法处理请求.
这是众所周知的,因此我们将其设置为"始终打开",并且只在必要时在非高峰时段重新启动它.
但是,我们预计下个月服务器负载很重,在我们测试自动扩展时,我们发现当它添加额外的实例时,每个实例都会经历相同的启动延迟 - 但是流量在当前正在运行的实例和正在升温的新实例,例如,一半的请求在3分钟内开始失败.
我们如何配置Azure以延迟使用新实例,直到它准备好?(或者我们应该使用例如AWS?).
一些文档指出使用自定义Load Balancer Probe但是它主要讨论VM而我们正在使用PAAS.
在Visual Studio 2017中,我构建了我的ASP.NET Core 2.1应用程序,没有错误,但是当我尝试将其发布到Azure时,我收到的错误表明我错过了对程序集的引用 - 请参阅下文:

但是我没有错过引用,并且这些错误指向哪里,引用就没有任何错误.
更重要的是,只有在我的发布配置文件中定位"Portable"以外的运行时才会发生这种情况.如果我为目标运行时选择"Portable"并在部署模式下将其保留为"Framework dependent"(见下文),我可以发布到Azure或文件夹就好了.

知道如何解决这个问题吗?我在这里看过一些类似的帖子,他们建议我这样dotnet restore做没有帮助.
我很欣赏这里的一些建议,因为这对我来说已成为一个相当大的障碍.
因为我正在尝试使用ASP.NET Core 2.1 Preview-2,所以我需要选择x64作为目标运行时,以便我的设置与Azure上安装的设置相匹配.如果我选择x64,我就无法发布.如果我使用"Portable"设置发布它,Azure App服务会给我一个错误.在此处查看我的其他帖子:ASP.NET Core 2.1 Preview 2 App不适用于Azure App Service
我真的很感激这里的一些帮助,因为我似乎完全卡住了!
azure-web-sites asp.net-core visual-studio-2017 asp.net-core-2.1
我有一个Azure网络应用程序,我正在从VSTS部署.这之前工作正常,但现在返回以下内容:
2018-08-07T14:24:57.1655319Z信息:添加目录(dsadminportal-dev\wwwroot\assets\css\plugins\datapicker).
2018-08-07T14:24:58.2654020Z ## [错误]无法将Web包部署到App Service.
2018-08-07T14:24:58.2665943Z ## [错误]错误:(8/7/2018 2:24:57 PM)在远程计算机上处理请求时发生错误.
错误:在"D:\ home\site\wwwroot\wwwroot\assets\css\plugins\datapicker"上处理"创建目录"操作时遇到错误.错误:错误代码为0x800703E6.错误:对内存位置的无效访问.
at Microsoft.Web.Deployment.NativeMethods.RaiseIOExceptionFromErrorCode(Win32ErrorCode errorCode,String maybeFullPath)at Microsoft.Web.Deployment.FileSystemInfoEx.set_Attributes(FileAttributes value)at Microsoft.Web.Deployment.DirPathProviderBase.Add(DeploymentObject source,Boolean whatIf)错误计数:1.
这是一个插槽.我删除了插槽并重新创建了它并且第一次部署得很好,但后续部署失败并出现上述错误.
这意味着什么?
谢谢
我对我的ASP.NET Core 2.0项目中的所有.NET Standard 2.0类库使用System.Data.SqlClient V4.4.3.我为什么得到
无法加载文件或程序集'System.Data.SqlClient,Version = 4.2.0.2,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a'.定位的程序集的清单定义与程序集引用不匹配.(HRESULT异常:0x80131040)
使用VSTS将项目发布到Azure App Service时?当然,它完全适用于我的机器!
这一切都在昨天奏效.但今天我决定将软件包更新为:
<PackageReference Include="Microsoft.AspNetCore.All" Version="2.0.6" />
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="2.0.3" />
Run Code Online (Sandbox Code Playgroud) c# azure-web-sites azure-devops asp.net-core-2.0 .net-standard-2.0
azure-web-sites ×10
azure ×7
c# ×3
asp.net-core ×2
asp.net-mvc ×2
asp.net ×1
azure-devops ×1
iis-8 ×1
kudu ×1
owin ×1
sockets ×1
ssl ×1
suave ×1