在C#中,我可以检查一个事件是否有任何监听器:
C#示例:
public static event EventHandler OnClick;
if (OnClick != null)
OnClick(null, new EventArgs() );
Run Code Online (Sandbox Code Playgroud)
在C++/CLI中,检查事件是否为null是不必要的.
C++/CLI示例:
delegate void ClickDelegate( Object^ sender, MyEventArgs^ e );
event ClickDelegate^ OnClick;
OnClick (sender, args);
Run Code Online (Sandbox Code Playgroud)
但是,在我正在进行的项目中,如果没有侦听器,我不想构造MyEventArgs对象.
如何判断OnClick是否在C++中有任何监听器?
我正在尝试将 MVC .Net Core 2.2 项目部署到 Azure,但我得到的只是蓝屏,并显示消息“您的应用服务应用程序已启动并正在运行”。我认为这是部署期间创建的hostingstart.html 文件。
我正在部署的项目正是 Visual Studio 15.9.5 创建的项目,没有代码更改。我可以在本地运行该项目,但无法部署。
如果我通过在末尾添加“home/index”来更改 URL,我会再次出现蓝屏。我创建了一个 html 页面并将其保存在 wwwroot 中,部署了它,但无法查看该页面。
++++++ 更新 ++++++
感谢您的回复,下面是有关我如何创建和发布项目的更多详细信息:
在 Visual Studio 中,我单击“添加新项目”,选择 ASP.NET Core Web 应用程序,选择不带身份验证和 HTTPS 支持的 Core 2.2。我通过单击 F5 运行该项目。为了发布,我创建了一个新的配置文件,保留默认值,没有应用程序见解。网站已发布。
主页蓝屏,无法访问主页/索引页。

(来源:windows.net)
当我跑:
sudo apt-get update
sudo apt-get upgrade
Run Code Online (Sandbox Code Playgroud)
从命令行,它的工作原理.
如果我把同一行放在一个脚本文件maintain.script:
echo UPDATING SYSTEM SOFTWARE – UPDATE
sudo apt-get update
echo UPDATING SYSTEM SOFTWARE – UPGRADE
sudo apt-get upgrade
Run Code Online (Sandbox Code Playgroud)
并运行:
sudo ./maintain.sh
Run Code Online (Sandbox Code Playgroud)
我收到错误:
E: Invalid operation update
E: Invalid operation upgrade
Run Code Online (Sandbox Code Playgroud)
我已将脚本标记为可执行文件.
FSQ评论后更新
这是脚本文件:
#!/bin/bash
echo "UPDATING SYSTEM SOFTWARE – UPDATE"
apt-get update
echo "UPDATING SYSTEM SOFTWARE – UPGRADE"
apt-get upgrade
echo "UPDATING SYSTEM SOFTWARE – DISTRIBUTION"
apt-get dist-upgrade
echo "REMOVING APPLICATION ORPHANS"
apt-get autoremove –purge
echo "UPDATING FIRMWARE"
rpi-update
Run Code Online (Sandbox Code Playgroud)
这是命令:
pi@raspberrypi2 …Run Code Online (Sandbox Code Playgroud) asp.net-core ×1
azure ×1
bash ×1
c++-cli ×1
events ×1
listeners ×1
raspberry-pi ×1
raspbian ×1