小编Yau*_*sau的帖子

按名称获取类型

在我的代码中,我试图按名称获取类型。当我使用字符串参数时,我失败了。然后我尝试在快速监视窗口中执行以下操作:

Type.GetType(typeof(System.ServiceModel.NetNamedPipeBinding).Name)
Run Code Online (Sandbox Code Playgroud)

返回空值。为什么?以及如何通过名称获取所需的类型?

c# .net-4.5 visual-studio-2012

16
推荐指数
2
解决办法
3万
查看次数

将文件写入连接到Windows PC的PNP设备

通过将PNP设备插入Windows PC,我想知道设备是否支持数据传输功能.我非常有兴趣将一些内容推送到设备.因此,例如当我插入Windows Phone时,我可以看到Windows管理查询添加了5个新设备

名称:Windows Phone

CompartibleId:USB\MS_COMP_MTP,USB\Class_06&SubClass_01&Prot_01,USB\Class_06&SubClass_01,USB\Class_06


名称:WinUsb设备

CompartibleId:USB\MS_COMP_WINUSB,USB\Class_ff&SubClass_ff&Prot_ff,USB\Class_ff&SubClass_ff,USB\Class_ff


名称:WinUsb设备

CompartibleId:USB\MS_COMP_WINUSB,USB\Class_ff&SubClass_ff&Prot_ff,USB\Class_ff&SubClass_ff,USB\Class_ff


名称:WinUsb设备

CompartibleId:USB\MS_COMP_WINUSB,USB\Class_ff&SubClass_ff&Prot_ff,USB\Class_ff&SubClass_ff,USB\Class_ff


名称:USB复合设备

CompartibleId:USB\DevClass_00&SubClass_00&Prot_00,USB\DevClass_00&SubClass_00,USB\DevClass_00,USB\COMPOSITE

我怎么能得到一个胶水:

  • 所有设备都是单个设备的一部分
  • 该设备允许我在其上保存文件
  • 找到一个指标,肯定告诉我有关支持的文件传输协议
  • 如果文件转移有多个单一可能性选择更快(或现代)

即使你能告诉我一个有意义的方向,我还是应该继续我的学习/调查,我会提供任何帮助.

我正在寻找一种使用设备的通用方法.期望的实现语言是C#.

c# windows mobile-devices plug-and-play

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

当WCF服务运行批处理文件时,XCopy或MOVE不起作用.为什么?

我遇到过这样一种情况,即同一批处理文件的工作方式与命令行不同,以及何时从IIS上托管的WCF服务触发.区别在于XCOPY命令.当我正常运行批处理文件时,XCOPY会移动我需要的所有数据

XCOPY "C:\from" "C:\to" /K /R /E /I /S /C /H /G /X /Y
Run Code Online (Sandbox Code Playgroud)

但是当它从WCF服务运行时,没有任何东西被复制.从我的服务运行批处理我使用以下代码在C#中执行批处理文件 稍作修改.我的应用程序拉动在LocalSystem帐户下运行.我还尝试使用自己的帐户进行应用程序调查 - 不起作用.怎么了?

简短更新: 我最近学到的是我的WCF服务在App Pool用户下运行,但过程不是.为了实验,我在流程开始代码中进行了更新

var pwdArray = "mypassword".ToArray();
var pwd = new System.Security.SecureString();

Array.ForEach(pwdArray, pwd.AppendChar);
processInfo.UserName = "myuser";

processInfo.Password = pwd;
processInfo.Domain = "LocalMachine";
Run Code Online (Sandbox Code Playgroud)

但它没有帮助.似乎在描述的条件下运行XCOPY是神秘的.

还有一个更新: 在常规Windows服务下启动的进程中也发现了XCopy的相同问题.

c# wcf iis-7 windows-services xcopy

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

C# 中的相对路径转换器 MAC->Windows、Windows->MAC

有没有更聪明的方法来转换 MAC->Windows、Windows->MAC 相对路径,而不是采用字符串并将 tildas 替换为点,将斜杠替换为反斜杠?

.net c#

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

将消息放入msmq,消息过期超时

如果有一种开箱即用的方式将消息放入具有定义的到期时间的msmq中.到期时我指的是以下情况:

  • 消息发送者经常将消息发送到队列中
message 1 published at 1:00
message 2 published at 1:02
message 3 published at 1:04
Run Code Online (Sandbox Code Playgroud)
  • 消息接收者从队列中获取消息并运行时间过程

消息1在1:00收到并在1:05处理

  • 通过应用程序逻辑,它可以处理在特定时间范围内不长的消息

我们分析不超过1分钟的进程消息,因此我希望消息2将从队列中消失

问题:

  • 我可以通过开箱即用的功能存档吗?
  • 如果不?这样做的最佳做法是什么?
  • msmq原则上是针对这个用例的正确技术吗?哪一个更符合要求?

c# msmq

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

在Visual Studio中更改构建配置时更改应用程序目标框架

我有这些构建配置:

在此输入图像描述

这些平台配置:

在此输入图像描述

而这些编译条件:

NET40
NET45
Run Code Online (Sandbox Code Playgroud)

我的解决方案是一个庞大的API,包含20个解决方案,其中一些解决方案Async使用了只能从.NetFx 4.5获得的关键字和其他优势.

这部分代码我以这种方式在条件中:

#If NET45 then

    Sub Async
    ...
    End Sub

#Else

    Sub
    ...
    End Sub

#End If
Run Code Online (Sandbox Code Playgroud)

然后,我想要做的是清楚,.NetFx 4.5构建配置应该编译NET45条件的块,而.NetFx 4.0构建配置应该编译#Else部分的块.

我发现的问题是,如果我在项目设置中更改应用程序目标框架,则更改将在所有其他构建配置中保留,并且我希望避免持久性.

那我该怎么做呢?


注意:

我用C#标记标记了这个问题,因为它是一个一般的Visual Studio环境问题,但我会澄清我的解决方案是用Vb.Net编写的,因为我知道C#项目设置和它们的编译器参数之间有一些很大的区别所以也许C#高级答案无法帮助我.

.net c# vb.net msbuild visual-studio

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