小编Rem*_*tec的帖子

WCF net.tcp绑定,消息格式和安全问题

抱歉愚蠢的问题,但有一些关于WCF的事情我无法理解.对于下面的一些建议会很高兴....

  • 在一个非常基本的层面上,WCF使用二进制(Net.Tcp),HTTP或MSMQ在线路上传输我的消息是正确的吗?

  • 但是,在所有情况下,无论数据是如何传输的,消息本身都是以SOAP格式传输的,并带有标题和正文?所以它是一种以HTTP/S或二进制格式传输的XML消息.

  • Net.Tcp是我的客户端服务器应用程序的不错选择 - 它类似于信使应用程序,因为客户端都是防火墙另一端的远程用户到我的服务器.我正在阅读的大多数内容都告诉我们使用WS*和HTTP.

  • Net.Tcp是否按标准保护并且没有证书? - 也就是说 - 人们无法通过电线收听并解码往返的数据.

  • 是否可以使用net.tcp发送用户名和密码,而无需安装证书?

  • 如果是这样,我认为我可以将其连接到我的会员提供商,并验证对我的服务合同实施的每个方法的访问权限.

  • 我假设使用用户名和密码安全性,使用用户名和密码初始化代理,并且每个请求都会发送此信息.

  • 然后将为每个方法调用调用我的成员资格提供程序,并执行它为获取该方法的授权所需的任何操作.

很抱歉转移问题但很高兴知道我是否正确思考WCF的工作方式.

谢谢.

authentication wcf binding authorization net.tcp

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

使用 XPath 设置日期格式

我有以下 xpath 表达式...

//ns:response[1]/ns:return[1]/legs[1]/startDate[1] (Value 01/01/2011)
//ns:response[1]/ns:return[1]/legs[1]/startTime[1] (Value 12:13)
Run Code Online (Sandbox Code Playgroud)

我需要将这些值格式化并连接成这样的内容

2011-08-25T17:35:00
Run Code Online (Sandbox Code Playgroud)

使用 xpath 函数可以做到这一点吗?举个例子将不胜感激。

输入数据中的日期格式为 dd/mm/yyyy。

xml xpath soap soapui

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

如何在不使用 PSUtil 的情况下在 python 2.7 中获取 CPU 使用率

试图在Python不使用PSUtil.

我已经尝试了以下但它似乎总是报告相同的数字......

def getCPUuse():
    return(str(os.popen("top -n1 | awk '/Cpu\(s\):/ {print $2}'").readline().strip(\
)))

print(getCPUuse())
Run Code Online (Sandbox Code Playgroud)

即使我加载 CPU,这似乎总是报告 3.7%。

我也尝试了以下...

str(round(float(os.popen('''grep 'cpu ' /proc/stat | awk '{usage=($2+$4)*100/($2+$4+$5)} END {print usage }' ''').readline()),2))
Run Code Online (Sandbox Code Playgroud)

这似乎总是返回 5.12。必须承认我真的不知道上面的内容是什么。如果我进入grep cpu /proc/stat命令行,我会得到这样的东西......

cpu  74429 1 19596 1704779 5567 0 284 0 0 0
cpu0 19596 0 4965 422508 1640 0 279 0 0 0
cpu1 18564 1 4793 427115 1420 0 1 0 0 0
cpu2 19020 0 4861 426916 1206 0 2 …
Run Code Online (Sandbox Code Playgroud)

python cpu cpu-usage python-2.7 raspberry-pi

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

Unity Framework - 将整数和字符串传递给已解析的对象

有没有办法使用Unity框架将整数作为参数传递给构造函数或已解析的对象?

伪码..

IService svc = Container.Resolve<ConcreteService>()
Run Code Online (Sandbox Code Playgroud)

在这种情况下,混凝土服务将是这样的......

public class ConcreteService
{
    public ConcreteService(int val)
    {
    }
}
Run Code Online (Sandbox Code Playgroud)

另外,我需要在xml配置中执行此操作,而不是在代码中执行此操作.

提前致谢.

c# inversion-of-control unity-container

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

套接字术语-“阻塞”是什么意思?

在使用C#进行套接字编程时,术语“阻塞”是什么意思?

我需要构建一个服务器组件(可能是Windows服务),该组件将接收数据,进行一些处理并将数据返回给调用方。呼叫者可以等待答复,但是我需要确保多个客户端可以同时呼叫。

如果客户端1连接并且我花了10秒钟来处理他们的请求,客户端2会在2秒钟后调用该套接字吗?还是该服务将开始在另一个线程上处理第二个请求?

总而言之,我的客户可以等待响应,但是我必须能够同时处理多个请求。

c# sockets tcp

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

将 CollectionViewSource 绑定到 ListBox

出于某种原因,我无法ListBox从我的CollectionViewSource. 这是代码...

public class AppTest
{
    public int Priority { get; set; }
    public string TestName { get; set; }
}

public class AppTestProvider
{
    public List<AppTest> GetAppTests()
    {
        return new List<AppTest>()
        {
            new AppTest() { Priority=1, TestName = "Application Setup" },
            new AppTest() { Priority=2, TestName = "File System Permissions" }
        };
    }
}
Run Code Online (Sandbox Code Playgroud)

......现在Xaml......

<Window.Resources>
    <ObjectDataProvider x:Key="AppTests" ObjectType="{x:Type Application:AppTestProvider}" MethodName="GetAppTests" />
    <CollectionViewSource x:Key="cvs" Source="{Binding AppTests}">
        <CollectionViewSource.SortDescriptions>
            <scm:SortDescription PropertyName="Priority" Direction="Ascending" />
        </CollectionViewSource.SortDescriptions>
    </CollectionViewSource>
</Window.Resources>

<Grid> …
Run Code Online (Sandbox Code Playgroud)

.net c# data-binding wpf xaml

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

可观察的CollectionViewSource

我正在尝试设置一个ListBox,从CollectionViewSource获取它的数据.我想要发生的是,当我更新底层数据源时,ListBox也会更新.我的Xaml看起来像这样......

<Window.Resources>
    <ObjectDataProvider x:Key="AppTests" ObjectType="{x:Type Application:AppTestProvider}" MethodName="GetAppTests" />
    <CollectionViewSource x:Key="cvs" Source="{StaticResource AppTests}">
        <CollectionViewSource.SortDescriptions>
            <scm:SortDescription PropertyName="Priority" Direction="Ascending" />
        </CollectionViewSource.SortDescriptions>
    </CollectionViewSource>
</Window.Resources>

<Grid>
    <ListBox x:Name="TestList" ItemsSource="{Binding Source={StaticResource cvs}}">
        <ListBox.ItemTemplate>
            <DataTemplate>
                <TextBlock Text="{Binding TestName}" />                    
            </DataTemplate>
        </ListBox.ItemTemplate>
    </ListBox>
</Grid>
Run Code Online (Sandbox Code Playgroud)

这显示数据正常,但如果我更改基础数据,那么在我cvs.View.Refresh()在后面的代码中调用方法之前,更改不会出现在网格上.

如何让这个"可观察",以便自动发生变化?

注意:使用CVS的原因是基于底层对象中的属性为列表提供排序.

.net c# data-binding wpf xaml

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

如何将模块导入到 python 单元测试中

我知道这个问题已经被问过很多次了,在过去的两个小时里一直在研究它,但仍然无法弄清楚。如果可能的话,将非常感谢解决我的实际问题,而不是链接到其他问题。

开始...

/src
    /moduleA
        __init__.py
        messages.py
    /tests
        testA.py
Run Code Online (Sandbox Code Playgroud)

消息.py

def get_messages(paramA):
    if paramA:
        return "A"
    else:
        return "B"
Run Code Online (Sandbox Code Playgroud)

测试A.py

import unittest
from moduleA import messages
Run Code Online (Sandbox Code Playgroud)

我的单元测试将简单地检查函数是否返回A或。Bget_messages(...)

据我了解,它moduleA是一个模块,因为它有一个__init__.py文件。VSCode 不会抱怨from moduleA import messages我的测试中的行,但是当我尝试执行时,testA.py我收到以下错误消息...

ImportError: No module named moduleA

还尝试运行它python -m

如果有人能告诉我我做错了什么,我将非常感激。如果有帮助的话,我可以改变我的文件结构。也许我一直在阅读的示例适用于 Python 3,而我正在使用 2.7?

谢谢。

python python-2.7

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

有没有办法在不触发管道的情况下提交到 Azure Dev Ops 存储库?

我将代码存储在 Azure Dev Ops git 存储库的各个分支中。

开发人员是否可以以某种方式推送到分支,传递某种命令行标志,这将停止为该分支执行的任何管道?

我有许多管道设置为在检测到我的分支发生更改时运行。

工作流程:

  1. 开发人员拉下分支(例如features/abc
  2. 开发人员将更改推送到该分支

我的pipeline.yml文件设置如下:

trigger:
  batch: true
  branches:
    include:
    - features/*
Run Code Online (Sandbox Code Playgroud)

当开发者推送到feature/abc管道就会启动。

我想知道当我输入时是否可以在命令行上设置某种标志git push来阻止管道执行。

azure-devops azure-pipelines

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

在gitlab管线中使用semver或时间戳

我正在使用GitLab管道,并在.gitlab-ci.yml文件中定义了我的构建定义。

我正在用它来构建docker容器。

简单的问题。有没有一种方法可以用gitlab中的semver或时间戳标记我的docker容器。

内置变量似乎并没有给我太多帮助。

在Windows上,我以前可以GitVersion在Powershell中使用它来获取semver标签并将其放入一个变量中,以便在其余的构建过程中使用。

如果无法执行此操作,是否可以从操作系统获取时间戳并将其用于yml文件?

semantic-versioning gitlab gitlab-ci gitlab-ci-runner

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