我正在尝试在 Terraform (v 0.13.0) 中设置我当前的基础设施。我只是从迁移现有的 lambda 函数开始。我已使用以下代码尝试将 .net core 3.1 中的现有 lambda 函数上传到 AWS(provider v.3.0)。我手动部署没有问题,但这显然不是目标。
这是 IAM 角色:
resource "aws_iam_role" "role_lambda" {
name = "roleLambda"
assume_role_policy = <<POLICY
{
"Version": "2012-10-17",
"Statement": [
{
"Action": "sts:AssumeRole",
"Principal": {
"Service": "lambda.amazonaws.com"
},
"Effect": "Allow",
"Sid": ""
}
]
}
POLICY
}
Run Code Online (Sandbox Code Playgroud)
在函数下方(注意我混淆了一些值):
resource "aws_lambda_function" "lambda_tf" {
function_name = "LambdaTFTest"
role = aws_iam_role.role_lambda.arn
handler = "Lambda::Lambda.Function::FunctionHandler"
runtime = "dotnetcore3.1"
s3_bucket = "arn:aws:s3:::xxxx-xxxxxx"
s3_key = "Lambda.zip"
s3_object_version = "XxXxXxXxXxXxXxXxXxXxXxXxXxXx"
}
Run Code Online (Sandbox Code Playgroud)
但是,我不断收到此错误作为输出,但没有更多详细信息:
Error: Error …
Run Code Online (Sandbox Code Playgroud) amazon-web-services aws-lambda terraform terraform-provider-aws
我在我的所有项目(平台+共享)中将我的Xamarin.Forms包更新到最新版本(2.3.4.224),现在看来我不应再使用它了Device.OS
,TargetPlatform
因为它们已被弃用.
由于这些行,编译器抱怨:
if (Device.OS == TargetPlatform.iOS)
_API_BASE_URI = "http://XXX.XXX.XXX.XXX";
else
_API_BASE_URI = "http://YYY.YYY.YYY.YYY";
Run Code Online (Sandbox Code Playgroud)
它说:
"Device.OS已过时.请改用RuntimePlatform"
到目前为止一直很好,现在我想修复它,我一直在尝试使用:
Debug.WriteLine(Device.RuntimePlatform);
Run Code Online (Sandbox Code Playgroud)
但它抛出了运行时异常.这是堆栈跟踪
04-08 14:57:34.812 I/MonoDroid(3782):UNHANDLED EXCEPTION:04-08 14:57:34.824 I/MonoDroid(3782):System.TypeInitializationException:'Mob.ApiCommunication'的类型初始值设定项引发异常.---> System.MissingMethodException:找不到方法'Xamarin.Forms.Device.get_RuntimePlatform'.04-08 14:57:34.824 I/MonoDroid(3782):---内部异常堆栈跟踪结束--- 04-08 14:57:34.824 I/MonoDroid(3782):at(包装器管理到本机) )System.Object:__ icall_wrapper_mono_generic_class_init(intptr)04-08 14:57:34.824 I/MonoDroid(3782):在Mob.Views.Public.LoginViewModel.RestoreState(System.Collections.Generic.IDictionary`2 [TKey,TValue]字典)[0x00001]在C:\ Users ...\Source ...\LoginViewModel.cs:52 04-08 14:57:34.824 I/MonoDroid(3782):在Mob.App.OnStart()[0x00001]中C:\ Users ...\App.xaml.cs:39 04-08 14:57:34.824 I/MonoDroid(3782):在C:\ BuildAgent2\work中的Xamarin.Forms.Application.SendStart()[0x00000]\ca3766cfc22354a1\Xamarin.Forms.Core\Application.cs:228 04-08 14:57:34.824 I/MonoDroid(3782):at Camarin.Forms.Platform.Android.FormsAppCompatActivity + d__43.MoveNext()[0x0003b] in C :\ BuildAgent2\work\ca3766cfc22354a1\Xamarin.Forms.Platform.Android\AppCompat\FormsAppCompatActivity.cs:426 04-08 14:57:34.824 I/MonoDroid(3782):---来自pre的堆栈跟踪结束 抛出异常的vious位置--- 04-08 14:57:34.824 I/MonoDroid(3782):/ Users/builder/data/lanes/4468中的System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()[0x0000c] /f913a78a/source/mono/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:143 04-08 14:57:34.824 I/MonoDroid(3782):at System.Runtime.CompilerServices.AsyncMethodBuilderCore. m__0(System.Object state)[0x00000]在/Users/builder/data/lanes/4468/f913a78a/source/mono/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/AsyncMethodBuilder.cs:1018 04-08 14:57:34.824 I/MonoDroid(3782):在/ …
我有2个标签需要使用不同的字体来制作单个标签"My Company(c)"(copywrite symbol)."我的公司"将是一个大字体,'(c)'是一个小字体.我不能让它们作为单个标签出现.似乎存在间距问题.我尝试了以下内容.
<StackLayout Grid.Row="1" Orientation="Horizontal">
<Label
x:Name="lbCo"
Text="My Company"
Style="{DynamicResource LargeLabel}"/>
<Label
x:Name="lbcopywrite"
Text="©"
Margin="0,-7,0,0"
Style="{DynamicResource SmallLabel}"/>
</StackLayout>
Run Code Online (Sandbox Code Playgroud)
但它看起来像" 我的公司(空间)(c) "
任何想法如何使它看起来像"我的公司(c)",总是在同一条线上和在一起?
我有一个 .Net Core 2.2 Web 应用程序 MVC,我在其中添加了 API 控制器和 SignalR 集线器。另一方面,我有一个调用集线器方法的移动应用程序。在从应用程序调用集线器之前,我通过 API 调用对我的用户进行身份验证 - 取回 JWT 令牌 - 并将此令牌用于未来的请求,这样我就可以Context.User.Identity.Name
在我的集线器方法中使用:
public static async Task<string> GetValidToken(string userName, string password)
{
using (var client = new HttpClient())
{
client.BaseAddress = new Uri(_API_BASE_URI);
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
LoginViewModel loginVM = new LoginViewModel() { Email = userName, Password = password, RememberMe = false };
var formContent = Newtonsoft.Json.JsonConvert.SerializeObject(loginVM);
var content = new StringContent(formContent, Encoding.UTF8, "application/json");
HttpResponseMessage responseMessage;
try
{
responseMessage = await client.PostAsync("/api/user/authenticate", content); …
Run Code Online (Sandbox Code Playgroud)