小编Lib*_*eph的帖子

自定义标头到Httpclient请求

如何为HttpClient请求添加自定义标头?我正在使用PostAsJsonAsync方法发布JSON.我需要添加的自定义标题是

"X-Version: 1"
Run Code Online (Sandbox Code Playgroud)

这是我到目前为止所做的:

using (var client = new HttpClient()) {
    client.BaseAddress = new Uri("https://api.clickatell.com/");
    client.DefaultRequestHeaders.Accept.Clear();
    client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", "xxxxxxxxxxxxxxxxxxxx");
    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
    var response = client.PostAsJsonAsync("rest/message", svm).Result;
}
Run Code Online (Sandbox Code Playgroud)

c# asp.net http-headers dotnet-httpclient

116
推荐指数
4
解决办法
15万
查看次数

无法访问minikube IP地址

我是 Kubernetes 的绝对初学者,我是按照本教程开始的。我已经成功编写了 yaml 文件。然而,一旦我部署它,我就无法访问网络应用程序。

这是我的 webapp yaml 文件

apiVersion: apps/v1
kind: Deployment
metadata:
 name: webapp-deployment
 labels:
  app: webapp
spec:
 replicas: 1
 selector:
  matchLabels:
   app: webapp
 template:
  metadata:
   labels:
    app: webapp
spec:
  containers:
  - name: webapp
    image: nanajanashia/k8s-demo-app:v1.0
    ports:
    - containerPort: 3000
    env:
    - name: USER_NAME
      valueFrom:
        secretKeyRef:
          name: mongo-secret
          key: mongo-user
    - name: USER_PWD
      valueFrom:
        secretKeyRef:
          name: mongo-secret
          key: mongo-password
    - name: DB_URL
      valueFrom:
        configMapKeyRef:
          name: mongo-config
          key: mongo-url
Run Code Online (Sandbox Code Playgroud)
apiVersion: v1
kind: Service
metadata:
  name: webapp-servicel
spec: …
Run Code Online (Sandbox Code Playgroud)

kubernetes minikube

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

从死信队列重新提交邮件 - Azure Service Bus

我在Azure中创建了一个服务总线队列,它运行良好.如果消息未在默认尝试(10次)内传递,则它正确地将消息移动到死信队列.

现在,我想将此消息从死信队列重新提交回其发起的队列,并查看它是否再次起作用.我尝试过使用服务总线资源管理器.但它会立即转移到死信队列.

有可能做同样的事情,如果是这样的话怎么样?

message-queue azure azureservicebus

7
推荐指数
5
解决办法
5281
查看次数

dotnet new 的多项目模板

我正在创建一个多项目模板,其中包含一些可选项目和解决方案文件夹。我已经通过 github 中的很多不同的文档和代码来实现这一点,但收效甚微。我真的很感激有人能给我一些关于这些问题的澄清吗?

  1. VSTemplate xml 文件是否仍然相关? 这个博客建议在 template.json 文件中进行更改,但是当我在github 中检查示例时,人们使用 VSTemplate 创建项目,并且 SideWaffle 插件仍然创建了 VSTemplate 文件。如果它仍然相关,想知道它与 json 文件有何不同?
  2. 使用上面的 VSTemplate 我试图创建一个多项目模板,使用 ProjectCollection 标签,当我运行 dotnet run 命令时,模板被执行但项目没有被创建。

    <ProjectTemplateLink ProjectName="$safeprojectname$.Forms.Plugin.Abstractions">
      Forms.Plugin.Abstractions\Forms.Plugin.Abstractions.vstemplate
    </ProjectTemplateLink>
    <ProjectTemplateLink ProjectName="$safeprojectname$.Forms.Plugin.iOS">
      Forms.Plugin.iOS\Forms.Plugin.iOS.vstemplate
    </ProjectTemplateLink>
    <ProjectTemplateLink ProjectName="$safeprojectname$.Forms.Plugin.iOSUnified">
      Forms.Plugin.iOSUnified\Forms.Plugin.iOSUnified.vstemplate
    </ProjectTemplateLink>
    <ProjectTemplateLink ProjectName="$safeprojectname$.Forms.Plugin.Android">
      Forms.Plugin.Android\Forms.Plugin.Android.vstemplate
    </ProjectTemplateLink>
    <ProjectTemplateLink ProjectName="$safeprojectname$.Forms.Plugin.WindowsPhone">
      Forms.Plugin.WindowsPhone\Forms.Plugin.WindowsPhone.vstemplate
    </ProjectTemplateLink>
    </ProjectCollection>```
    
    Run Code Online (Sandbox Code Playgroud)

我们可以使用 template.json 文件创建多项目模板吗?

如果有人能帮助我开始,将不胜感激。

.net c# templates visual-studio visual-studio-templates

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

请求新的访问令牌并重新提交api请求

我正在使用我的Xamarin表单项目的Refit库来发送API请求.它工作得很好,但在访问令牌到期时会出现问题.

当访问令牌到期时,我从服务器收到401错误,如预期的那样.然后我打电话给Identity Server发出新的访问令牌,但我很难重新提交API请求.我仍然有未经授权的错误.感谢一些帮助.

我创建了一个AuthenticatedHttpClientHandler类来处理令牌.

public class AuthenticatedHttpClientHandler : HttpClientHandler
{
    private readonly string _token;

    public AuthenticatedHttpClientHandler(string token ) 
    {
        _token = token;       
    }

    protected override async Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
    {
        var auth = request.Headers.Authorization;
        if (auth != null && !string.IsNullOrWhiteSpace(_token))
        {
            request.Headers.Authorization = new AuthenticationHeaderValue(auth.Scheme, _token);
        }
        else
        {
            request.Headers.Remove("Authorization");
        }
        var result = await base.SendAsync(request, cancellationToken).ConfigureAwait(false);
        if (result.StatusCode == System.Net.HttpStatusCode.Unauthorized )
        {
            IdSrvApiService idsrvApiService = new IdSrvApiService();
            RefreshTokenService refreshTokneService = new RefreshTokenService(idsrvApiService);

            if( Settings.RefreshToken != ""){
                var …
Run Code Online (Sandbox Code Playgroud)

c# xamarin xamarin.forms refit

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

Azure DocumentDb上使用MongoDB协议的部分更新支持

预览中的"支持MongoDB协议的Azure DocumentDB"是否支持部分数据更新?

我在文档中看到DocumentDb不支持.但是找不到任何关于此的信息.

azure mongodb azure-cosmosdb

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

私有应用程序的Microsoft BotFramework

我想使用Microsoft Bot Framework为我正在构建的应用程序构建一个聊天机器人,我不希望它在Skype,Facebook或任何其他渠道中工作.

那可能吗?是否涉及成本.

c# artificial-intelligence chatbot botframework botconnector

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

Microsoft Bot Framework未经授权的错误

我开始使用Microsoft Bot Framework,并尝试使用模拟器从入门教程运行非常基本的应用程序.当我发送消息时,我收到错误:401 Unauthorized

我做过的事情

我已更正模拟器中的URL以匹配应用程序的正确URL.已从模拟器字段中删除了APP ID和APP密码.

我假设我不需要担心https,因为我在本地运行(localhost).

c# artificial-intelligence chatbot botframework

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

返回多种类型

我的 xamarin 应用程序中有一个方法可以从服务器获取一些数据,如果 HTTP 请求成功,我需要该方法返回数据,或者如果服务器返回错误,则返回“系统错误”字符串,或者“Internet 连接” error" 字符串,如果没有连接。

我想知道如何设置返回类型以返回其中之一。我知道元组可以返回多个。但我相信两者兼而有之,而不是两者兼而有之。

我的代码

public async Task<List<AllReportVM>> GetAllReports(string token, string username)
    {
        var httpClient = GetHttpClient();
        if (CrossConnectivity.Current.IsConnected) {
            var response = await httpClient.GetAsync ("getdashboardreports.ashx").ConfigureAwait (false);

            if (response.IsSuccessStatusCode) {
                var content = response.Content;

                string jsonString = await content.ReadAsStringAsync ().ConfigureAwait (false);

                return JsonConvert.DeserializeObject<List<AllReportVM>> (jsonString);
            } else {
                return "SystemError";
            }
        } else {
            return "Internet Connectivity Error";

        }
    }
Run Code Online (Sandbox Code Playgroud)

c# function c#-4.0 xamarin

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

Linq声明:排序依据

我有一个从web api请求返回的对象列表.每个对象都有一个名为"PlaceNo"的字段,其值可以为0到n,如果尚未分配值,则为-1.

我需要根据PlaceNo排序列表,其中需要为0到n,然后是所有-1.

allreports.OrderBy(x => Convert.ToInt32(x.PlaceNo)).ToList();
Run Code Online (Sandbox Code Playgroud)

当前代码首先给出所有-1,然后是0到n.

注意:我在PlaceNo上进行类型转换,因为数字是以字符串而不是整数形式传递的.

c# linq lambda c#-4.0

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

Identity Server:本机移动应用程序的授予类型

我已经实现了Identity Server4,它看起来很棒.现在,我需要将原生移动应用程序(xamarin)连接到它.大多数博客和讨论建议使用"授权代码"或"混合"流程,github中的xamarin示例使用"隐式"流程.

我已经阅读了有关授权流程的文档,并且没有谈论用户名或密码. https://identityserver4.readthedocs.io/en/release/endpoints/authorize.html

我需要的是允许用户将他/她的用户名和密码提供给认证服务器,服务器最终应该返回访问代码.

  1. 这将是最合适的身份验证流程.

oauth openid-connect identityserver3 identityserver4

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