我正在尝试实现一个纯WCF场景,我想在不依赖SDK帮助程序类的情况下调用Dynamics CRM WCF服务.基本上,我想使用.net框架中的本机WCF支持对Dynamics CRM 2011实施联合身份验证.
我这样做的原因是我想稍后将这个场景移植到BizTalk上.
我已成功使用SvcUtil生成代理类,但部分策略和安全性断言与配置架构不兼容.SvcUtil建议从代码构建绑定,这正是我想要做的.
结果代码在这里:
private static void CallWcf()
{
OrganizationServiceClient client = null;
try
{
// Login Live.com Issuer Binding
var wsHttpBinding = new WSHttpBinding();
wsHttpBinding.Security = new WSHttpSecurity();
wsHttpBinding.Security.Mode = SecurityMode.Transport;
// Endpoint Binding Elements
var securityElement = new TransportSecurityBindingElement();
securityElement.DefaultAlgorithmSuite = SecurityAlgorithmSuite.TripleDes;
securityElement.IncludeTimestamp = true;
securityElement.KeyEntropyMode = SecurityKeyEntropyMode.CombinedEntropy;
securityElement.MessageSecurityVersion = MessageSecurityVersion.WSSecurity11WSTrust13WSSecureConversation13WSSecurityPolicy12BasicSecurityProfile10;
securityElement.SecurityHeaderLayout = SecurityHeaderLayout.Strict;
var securityTokenParameters = new IssuedSecurityTokenParameters();
securityTokenParameters.InclusionMode = SecurityTokenInclusionMode.AlwaysToRecipient;
securityTokenParameters.ReferenceStyle = SecurityTokenReferenceStyle.Internal;
securityTokenParameters.RequireDerivedKeys = false;
securityTokenParameters.TokenType = …
Run Code Online (Sandbox Code Playgroud) 我正在尝试编写一个简单的OWIN中间件,以拦截响应流.我要做的是用自定义的基于Stream的类替换原始流,在那里我将能够拦截对响应流的写入.
但是,我遇到了一些问题,因为我无法知道响应是否已被链中的内部中间件组件完全写入.Dispose
永远不会调用Stream 的覆盖.所以我不知道什么时候进行我的处理,这应该发生在响应流的末尾.
这是一个示例代码:
public sealed class CustomMiddleware: OwinMiddleware
{
public CustomMiddleware(OwinMiddleware next)
: base(next)
{
}
public override async Task Invoke(IOwinContext context)
{
var request = context.Request;
var response = context.Response;
// capture response stream
var vr = new MemoryStream();
var responseStream = new ResponseStream(vr, response.Body);
response.OnSendingHeaders(state =>
{
var resp = (state as IOwinContext).Response;
var contentLength = resp.Headers.ContentLength;
// contentLength == null for Chunked responses
}, context);
// invoke the next middleware in the …
Run Code Online (Sandbox Code Playgroud) 我检查了FFMpeg文档和许多论坛,并找出正确的命令行来从.MP4视频中提取字幕应如下所示:
ffmpeg -i video.mp4 -vn -an -codec:s:0 srt out.srt
Run Code Online (Sandbox Code Playgroud)
但是,我收到以下错误,这让我怀疑这是否可行:
打开输出流#0的编码器时出错:0 - 可能是不正确的参数,如bit_rate,rate,width或height
使用ffmpeg -codecs
,我可以确认ffmpeg应该能够编码subrip字幕.
使用ffmpeg -i video.mp4
,我可以看到视频中嵌入了两个字幕轨道:
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'video.mp4':
...
Stream #0:0(und): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p, 720x572 [SAR 64:45 DAR 256:143], 1341 kb/s, 25 fps, 25 tbr, 90k tbn, 180k tbc
Stream #0:1(eng): Audio: aac (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 191 kb/s
Stream #0:2(fra): Audio: aac (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 191 kb/s
Stream …
Run Code Online (Sandbox Code Playgroud) 我正在使用BizUnit对我的Biztalk业务流程进行单元测试,但是一些业务流程使用WebService,并且测试这些似乎更像是集成测试而不是单元测试.
我熟悉使用模拟框架来模拟生成的代理对象,以便从Windows窗体应用程序测试Web服务,但我希望能够以更加集成的方式在请求 - 响应端口中执行此操作?
你会如何解决这个问题?
据我所知,可移植类库可以在许多平台上使用,基于库设计者选择支持的框架子集.
我注意到许多可通过NuGet获得的库还包括一个特定于平台的实现,并想知道需要什么.
例如,Microsoft.Net.Http包附带了许多变体,包括:
为什么需要分发单独的.Net 4.0或WinRT版本的库?便携式类库是否足够?
当我设计自己的自定义便携式库时,我应该遵守这个惯例吗?
为了清楚起见,我不是在讨论需要一小部分平台特定代码才能工作的可移植类库.那些通常有一个附带的托管库,其名称以.PlatformServices结尾.但我在谈论由NuGet包分发的核心库.
在追逐增量构建时间的改进时,我发现.btproj文件以及依赖于这些文件的所有其他项目都在每个增量构建上重建(部分).跟踪这一直到BizTalkCommon.targets,我发现它完成了程序集的2遍编译 - 但只有第一遍尊重已经构建的工件,从而打破了依赖链的增量部分.可以在BizTalkCommon.targets中看到违规目标(第228行):
<!-- Delete the assembly and rerun the build process -->
<Target Name="SecondPass"
Condition="$(SecondBuild)!=true and $(TempAssemblyOnly)!=true">
<Delete Files="@(IntermediateAssembly)" />
<MSBuild Projects="$(MSBuildProjectFile)" Properties="SecondBuild=true"/>
</Target>
Run Code Online (Sandbox Code Playgroud)
我意识到2 pass构建有一个原因,但简直无法相信它不可能为目标指定适当的输入和输出来正确处理增量构建.
有没有人知道是否有.targets文件的补丁,或者是否还有另一个不支持增量构建的好理由?
我正在实现一个MSBuild框架来驱动构建和部署作为层次结构组织的许多项目.
<Target Name="_CoreBuild">
<MSBuild Projects="@(Project)" Targets="Build" Properties="Configuration=$(Configuration)">
<Output TaskParameter="TargetOutputs" ItemName="CompiledAssemblies" />
</MSBuild>
</Target>
Run Code Online (Sandbox Code Playgroud)
为了实现正确的Clean/Clobber逻辑,我想检索在使用当前选项执行构建时将编译的文件列表.
<Target Name="_CoreClobber" DependsOnTargets="_CoreClean">
<!-- How to retrieve @(CompiledAssemblies) as if we were
building @(Project) and retrieving the @(TargetOutputs) item group.
-->
</Target>
Run Code Online (Sandbox Code Playgroud)
我已经尝试了各种方法,包括创建自定义任务,在其中我构建了一个自定义项目文件,用于导入我想从中检索属性/项目的原始项目.但这并没有给我可靠的价值.
有没有办法检索MSBuild项目的TargetOutputs项目组而不实际执行构建?
我的工作加以改进极好的片,我发现的德彪西的Deuxième Arabesque
上免费提供的Mutopia项目.
特别是,我有兴趣在较少的页面上安装音乐,但我很难让第一页显示五个系统而不是四个与我到达的版本.
从上面的再现,我希望fith系统(从第13栏开始)位于第一页的底部.看起来第一页上有很多浪费的空间,我相信它会完美契合.
我很难搞清楚如何实现这一目标.我已经按照文档的建议显示了间距注释,但我似乎无法理解它.
我使用 MSKLC 制作了自定义键盘布局。我以为我仔细按照说明操作并为和参数选择了适当的值。LOCALENAME
LOCALID
但是,在通过按Win+Space或在任务栏上显示的切换键盘弹出窗口中,未显示与我的自定义布局相关联的国家/地区。
如何创作我的布局,以便 Windows 知道它应该关联的国家/地区?
我可能不会问一个具体示例的通用问题,但我很难将一些基本命令从PowerShell控制台转换为可重用的函数和自定义cmdlet.有没有关于PowerShell语法的权威指南,有问题,提示和技巧?
例如,我正在尝试创建一个函数,以便自动管理BizTalk主机实例.以下函数不起作用(在运行时失败),而单独粘贴在PowerShell控制台中时,每个单独的行都按预期工作.
function AddNewHostInstance([string]$ServerName, [string]$HostName, [string]$Login, [string]$Password)
{
[System.Management.ManagementObject]$objServerHost = `
([WmiClass]"root/MicrosoftBizTalkServer:MSBTS_ServerHost").CreateInstance()
$objServerHost["ServerName"] = $ServerName
$objServerHost["HostName"] = $HostName
$objServerHost.Map()
$name = "Microsoft BizTalk Server " + $HostName + " " + $ServerName
[System.Management.ManagementObject]$objServerHost = `
([WmiClass]"root/MicrosoftBizTalkServer:MSBTS_HostInstance").CreateInstance()
$objHostInstance["Name"] = $name
$objHostInstance.Install($Login, $Password, $True)
}
Run Code Online (Sandbox Code Playgroud)
顺便说一句,我在这个特殊情况下收到的错误是这样的:
PS C:\Users\username> createHostInstances $server, $host, $user, $pwd
Exception calling "Map" : "Invalid parameter "
At line:14 char:39
+ $objServerHost.Map <<<< ()
+ CategoryInfo : NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId : WMIMethodException
Exception calling "Install" : …
Run Code Online (Sandbox Code Playgroud) biztalk ×3
c# ×3
msbuild ×2
biztalk-2009 ×1
extract ×1
ffmpeg ×1
itemgroup ×1
katana ×1
lilypond ×1
mocking ×1
msklc ×1
nuget ×1
owin ×1
page-layout ×1
powershell ×1
spacing ×1
srt ×1
stream ×1
subtitle ×1
syntax ×1
wcf ×1
wcf-client ×1
wcf-security ×1
web-services ×1