小编ale*_*zyk的帖子

带有 React 的 ASP.NET Core 3.1 - 服务器端渲染/预渲染 - 需要两个 Web 服务?

在 ASP.NET Core 2.2 中,拥有一个带有 React 前端和工作服务器端渲染的 ASP.NET Core 网站是相当简单的 - 因为 ASP.NET Core+React 模板中支持开箱即用的 SSR ,它在内部运行NodeServices以使用 node.js 执行 javascript。

然而,对于 ASP.NET Core 3.1,事情不再那么容易了,主要是因为SpaServices和NodeServices类被声明为过时并且将根据此链接被 .NET 5 删除。因此不再使用来自 C# 的节点执行 javascript。

现在,除了信息之外,ASP.NET Core 2.2 中建议的服务器端渲染现已过时,我发现如何继续的唯一建议来自上面的文章:

要启用服务器端预渲染和热模块重新加载等功能,请参阅相应 SPA 框架的文档。

但是,如果我理解正确,要进行基于反应的服务器端渲染,我需要有一个 node.js 服务器,它将在服务器端执行渲染。

这是否意味着,如果我想要一个带有 React 前端和 SSR 的 ASP.NET Core 3.1 网站——我应该有一个用于 WebAPI 的 ASP.NET Core 项目,以及另一个单独的 Node.JS 项目用于前端——以SSR结束?

然后将它们部署在两个单独的 Azure AppServices 上?

这是 ASP.NET Core + React 项目的推荐架构吗?

asp.net asp.net-core

20
推荐指数
2
解决办法
5657
查看次数

ASP.NET 5中的全局异常处理

如何将自己的日志记录逻辑附加到ASP.NET 5应用程序以处理业务逻辑和较低层中引发的每个异常?

我尝试了自己的ILoggerProvider实现和 loggerfactory.AddProvider(new LoggerProvider(Configuration))Startup.cs.但似乎它拦截了内部的ASP.NET内容,而不是我在较低层中引发的异常.

asp.net asp.net-core

15
推荐指数
1
解决办法
6010
查看次数

将ASP.NET vNext应用程序部署到Azure云服务

是否可以将ASP.NET vNext Web应用程序部署到Azure云服务?如果是的话,它是否构建在aspnet50或aspnetcore50框架上是否重要?Azure Cloud Service Visual Studio模板,即使在2015 CTP中,似乎也只支持.NET Framework 4.x.

asp.net azure azure-cloud-services asp.net-core

7
推荐指数
1
解决办法
1005
查看次数

注册没有管理员权限的COM

我想将.net程序集注册为COM.

事实上,据我所知,这意味着HKEY_CLASSES_ROOT我不想写入条目HKEY_CURRENT_USER/Software/Classes,因此不需要UAC/Admin权限.

找到了这个问题的两个解决方案,我正在努力:

1)以编程方式,使用以下代码:

        IntPtr key;
        var openKeyresult = RegOpenKeyEx(HKEY_CURRENT_USER, "SOFTWARE\\Classes", 0, (int)RegistrySecurity.KEY_WOW64_64KEY, out key);
        var overrideKeyResult = RegOverridePredefKey(HKEY_CLASSES_ROOT, key);
        var registerResult = Registrar.RegisterAssembly(GetAssembly(), AssemblyRegistrationFlags.SetCodeBase);
Run Code Online (Sandbox Code Playgroud)

在这种方法中,overrideKeyResult6是对应于ERROR_INVALID_HANDLE,因此,RegisterAssembly抛出"访问被拒绝"异常,因为它试图写入HKEY_CLASSES_ROOT.

旁注:每次我运行RegOpenKeyEx的键值都不同,是吗?

2)与regasm

通过使用regasm.exe与所述/regfile标志,然后在生成的替换.reg文件中的所有HKEY_CLASSES_ROOT与出现次数HKEY_CURRENT_USER/Software/Classes

我觉得应该可行,但是当我不想卸载我的Outlook AddIn时,如何取消注册这样的程序集呢?

因为我看到我无法以与注册相同的方式制作它,因为:

var openKeyresult = RegOpenKeyEx(HKEY_CURRENT_USER, "SOFTWARE\\Classes", 0, (int)RegistrySecurity.KEY_WOW64_64KEY, out key);

.net com registry regasm

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

Xamarin.Forms - 应用程序级别的全局点击事件

如何在 Xamarin.Forms 应用程序中拦截应用程序级别的点击/点击事件?

我尝试在 MainPage 上使用类似的东西

    <Grid.GestureRecognizers>
        <TapGestureRecognizer Command="{Binding TappedCommand}" Tapped="TapGestureRecognizer_OnTapped"></TapGestureRecognizer>
    </Grid.GestureRecognizers>
Run Code Online (Sandbox Code Playgroud)

但它只有在我点击空白区域时才有效,触摸按钮不会触发事件。

此外,我经常通过更改 MainPage 进行导航,因此即使它有效,我也必须添加此类识别器。

我想在我的应用程序中全局处理任何触摸/点击/点击事件,是否可以在 Xamarin.Forms 中?

c# xamarin.android xamarin xamarin.forms

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

AvalonEdit - 用于JSON突出显示的xshd

是否有一个用于AvalonEdit控件的xshd规则集以突出显示JSON语法?我尝试了JavaScript的定义,但它不能很好地工作,即:

{
   "name" : "value"
}
Run Code Online (Sandbox Code Playgroud)

使用JavaScript定义,名称和值都具有相同的颜色.

是否有JSON的规则集,如果没有,我如何修改xshd以便在JSON中获得名称和值的不同颜色?

wpf avalonedit

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

office.js:Outlook Web 在约会关闭时显示“保存/放弃/取消”对话框

我有一个用新的 Javascript API (office.js) 编写的 Outlook 加载项。

我从日历中的约会的撰写表单中进行了一些操作(向正文添加主题后缀和一些文本)。完成操作后,我调用:

Office.context.mailbox.item.saveAsync(callback)
Run Code Online (Sandbox Code Playgroud)

包含更改的项目会被保存,但是当我在 Outlook Web UI 上致电Office.context.mailbox.item.close() 或关闭约会撰写表单时 - 如果我想保存更改或放弃更改,则会显示一个对话框,尽管自saveAsync通话以来没有进行任何更改。

无论用户是单击“保存”还是“放弃”,约会都具有我在saveAsync调用前使用加载项所做的更改。这种行为的原因是什么?

outlook-addin office365 office-app office-js

5
推荐指数
0
解决办法
210
查看次数

ASP.NET 5中的Azure WebJobs

我在Visual Studio 2015 RC中有一个ASP.NET 5 Web应用程序.现在我想创建一个WebJob,它可以独立地或在Web应用程序上.有资源如何在.NET 4.6中执行此操作,但如何部署ASP.NET 5控制台应用程序?有没有办法像:https: //azure.microsoft.com/pl-pl/documentation/articles/websites-dotnet-deploy-webjobs/

azure-webjobs asp.net-core

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

NetOffice - 加载项未加载

我正在使用 NetOffice 库开发 Outlook 加载项。这是一次很好的体验,但最后我更换了驱动器,重新安装了 Windows、Office 等。现在我的加载项无法运行,在 Outlook 选项的“COM 加载项”中我看到: Load Behavior: Not loaded. A runtime error occurred during the loading of the COM Add-in

这个问题甚至在 NetOffice 的简单示例中也存在,即该项目NetOffice Tools - Simple,它基本上不执行任何操作。

我将添加的构造函数放入日志记录代码(到文件)中,但它没有运行,因此即使构造函数也没有被命中。

有什么提示如何解决它吗?

编辑:使用 AddInSpy 我发现加载项状态为: Add-in DLL path is not found. 但不知道如何继续处理此信息。

outlook outlook-addin netoffice

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

获取具有外接程序设置的自定义属性的事件

此问题是通过Microsoft Graph在Outlook加载项中获取自定义属性集的后续操作。

我的Outlook Office.js加载项正在向事件添加一些自定义属性。它可以按预期工作,我可以使用Microsoft Graph并按照以下GET请求访问这些属性:

/v1.0/me/events/{event-id}?$expand=SingleValueExtendedProperties($filter=id%20eq%20'String%20{00020329-0000-0000-C000-000000000046}%20Name%20cecp-b7ff386a-234a-4a38-84bc-e5ae4684b7af')
Run Code Online (Sandbox Code Playgroud)

但现在,我尝试通过将这样的正文发布到推送通知端点(/v1.0/subscriptions)来订阅推送通知:

  {
    changeType: "created,updated,deleted",
    notificationUrl: `[...my url...]`,
    resource: `/users/${userData.id}/events?$filter=singleValueExtendedProperties/any(ep%3A%20ep%2Fid%20eq%20'String%20{00020329-0000-0000-C000-000000000046}%20Name%20cecp-b7ff386a-234a-4a38-84bc-e5ae4684b7af')`,
    expirationDateTime: tomorrow,
    clientState: "SecretClientState"
  }
Run Code Online (Sandbox Code Playgroud)

但我得到:

{
  "error": {
    "code": "ExtensionError",
    "message": "Operation: Create; Exception: [Status Code: BadRequest; Reason: Bad Request]",
    "innerError": {
      "request-id": "01dcece6-0103-4bef-8231-e9ab9480402a",
      "date": "2017-04-04T20:20:58"
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

试图设置请求中的资源为不转义,但结果相同,接下来我尝试的是$filter功能,因此使用MS Graph资源管理器以以下格式获取了get请求:

/v1.0/me/events/?$filter=singleValueExtendedProperties/any(ep%3A%20ep%2Fid%20eq%20'String%20{00020329-0000-0000-C000-000000000046}%20Name%20cecp-b7ff386a-234a-4a38-84bc-e5ae4684b7af')
Run Code Online (Sandbox Code Playgroud)

但出现以下错误:

{
    "error": {
        "code": "ErrorInvalidUrlQueryFilter",
        "message": "The filter expression for $filter does not match to a single extended property and a value restriction.", …
Run Code Online (Sandbox Code Playgroud)

outlook-restapi office-js outlook-web-addins microsoft-graph

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

通过JsonConverter属性在JSON.NET上设置类的NullValueHandling(对于Azure DocumentDb)

我有几个DAO文件,存储在Azure DocumentDb中,现在我希望空值不会存储在DocDb中,可以通过[JsonProperty(NullValueHandling = NullValueHandling.Ignore)]属性属性来存储 .但我不想把这个属性放在每个财产上.

问题是,没有任何方法可以设置JsonSerializerSettingsAzure DocumentDb API使用的Json序列化程序.

对我来说,似乎是使用JsonConverter类的属性,并创建一个自定义JsonConverter类,它将使用标准序列化但更改序列化设置.

这是转换器:

public class CommonJsonConverter : JsonConverter
{
    public override bool CanConvert(Type objectType)
    {
        return true;
    }

    public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
    {
        var token = JObject.ReadFrom(reader);
        return token.ToObject(objectType, serializer);
    }

    public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
    {
        serializer.NullValueHandling = NullValueHandling.Ignore;
        var jo = JObject.FromObject(value, serializer);
        jo.WriteTo(writer);
    }
}
Run Code Online (Sandbox Code Playgroud)

但我得到了WriteJson这样的例外:

Newtonsoft.Json.dll发生了'Newtonsoft.Json.JsonSerializationException'类型的第一次机会异常

附加信息:使用"Infrastructure.Dao.Contacts.PersonDao"类型检测到的自引用循环.路径''.

我试图将WriteJson函数更改为:

    public override …
Run Code Online (Sandbox Code Playgroud)

c# json azure json.net azure-cosmosdb

0
推荐指数
1
解决办法
2205
查看次数