小编ice*_*ava的帖子

在Visual Studio中引用system.management.automation.dll

我开始研究PowerShell模型和管理单元开发.我注意到的第一件事是引用System.management.automation.dll.但是在Visual Studio中,.NET选项卡没有该程序集,也无法浏览到

C:\windows\assembly\GAC_MSIL\System.Management.Automation\1.0.0.0__31bf3856ad364e35\System.Management.Automation.dll

制作基于文件的参考.

我是否被迫手动复制文件以便于参考

powershell visual-studio

126
推荐指数
5
解决办法
12万
查看次数

对象构造函数可以返回null吗?

我们接管了一些.NET 1.1 Windows服务代码,它生成线程以从队列中读取消息(SeeBeyond eGate JMS队列,但这并不重要),然后生成线程来处理目标应用程序服务中的消息.我们不断遇到令我们困惑的逻辑和设计决策.这是一个示例,其中已从队列中检索消息(lsMessage)并准备好进行处理

if(lsMessage != null)
{
    // Initialize a new thread class instance, pass in message
    WorkerThread worker = new WorkerThread(lsMessage);

Process:
    // Start a new thread to process the message
    Thread targetWorker = new Thread(new ThreadStart(worker.ProcessMessage));
    if(targetWorker != null)
    {
        targetWorker.Priority = ThreadPriority.Highest;
        targetWorker.Name = "Worker " + queueKey.ToString();
        targetWorker.Start();

        // wait for worker thread to join back in specified period
        bool isFinished = targetWorker.Join(SYNC_THREAD_TIMEOUT);

        string message = worker.replyMsg;

        if ( !isFinished )  // BF is …
Run Code Online (Sandbox Code Playgroud)

.net multithreading

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

.NET开发人员*真的应该花时间学习C以获得低级别的曝光吗?

当Joel Spolsky和Jeff Atwood在他们的播客中就程序员是否应该学习C而开始存在分歧时,无论他们的行业和交付平台如何,它在开发者社区中引发了一场爆炸性的辩论,这可能仍然在今天的某些群体中肆虐.我一直在阅读一些程序员博主的一些段落,他们对此事采取了行动.来自双方的争论当然具有重要性,我所没有发现的是一个与开发人员专注于.NET Framework的观点截然不同的视角.几乎所有人都在评论一般的程序员观点.

我想要的是什么?回想一下杰夫阿特伍德的观点,即大多数时候开发者处于如此高水平的花费将是学习业务/领域,除了学习技术以实现这些领域要求所需的一切.在我的工作经历中,这是对许多人工作生活的非常准确的描述.现在假设.NET开发人员可以派生的"课外"学习的时候,应该为C?

为了记录,我自己在学校里学习过C,我完全理解和欣赏支持者的推理.但是,在考虑事情时,我个人认为.NET开发人员不应该直接进入C.因为,我希望更多的开发人员需要花些时间学习的东西是 - MSILCLR.

也许我被一群不同寻常的同事困住了,我不知道,但在我看来很多人并没有意识到他们的C#或VB代码在JIT进入之前首先在IL编译并使其成为原始机器码.大多数人不知道的IL,并且在如何不感兴趣准确的CLR处理他们编写的代码.通过C#阅读Jeffrey Richter的CLR对我来说在很多方面都让我感到震惊; 很高兴我读到它,尽管同事们认为它"太低了".我不是IL的专家,但是在基础知识方面,我发现自己更容易跟随他的文本,因为我已经熟悉了IL的堆栈行为.我发现自己拆解程序集以查看在编写某些代码时IL的结果.

我学习了CLR和MSIL,因为我知道这是我下面的直接层.允许我执行自己的工作层的图层.C,实际上是进一步下降.更接近我们的"现实"的是CLR和MSIL.这就是为什么我会建议其他人去那些,因为我没有看到足够的人在钻研那层.或者,您的团队是否已全部熟悉MSIL?

c clr il

15
推荐指数
3
解决办法
1418
查看次数

Windows上的X.509证书入门

我目前正在研究通过WSE 3.0或WCF加密和签名SOAP消息的主题.由于我没有参与涉及公共Internet的分布式应用程序开发,因此我发现我对X.509证书缺乏知识以及它在Windows证书存储机制中的工作原理.它不是关于非对称密码学; 它是关于PKI生态系统的.

因此,我想收集一些文章或书籍,这些文章或书籍对Windows的安全机制,如何正确使用和管理证书存储,CA信任链以及WSE或WCF等API如何交互并使用证书进行全面解释.建议?

wcf wse certificate pki x509

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

Visual Studio参考x64 GAC

如何让Visual Studio 2005/2008引用64位GAC而不是32位GAC中的程序集?我们将目标平台设置为x64,编译器抛出错误

错误2警告错误:程序集生成 - 引用程序集"System.Data.dll"针对不同的处理器Common

错误3警告错误:程序集生成 - 引用程序集'mscorlib.dll'针对不同的处理器Common

错误4程序集签名失败; 输出可能未签名 - 系统找不到指定的文件.共同


2008年12月29日更新

一直在试用Aaron Stebner的建议,将64位程序集放在一个隔离的位置(例如C:\ Windows\Microsoft.NET\Framework64\v2.0.50727\GAC_64),并在注册表中创建其他条目,如HKLM\SOFTWARE\Microsoft.NETFramework\AssemblyFolders\GAC_64或HKLM\SOFTWARE\Microsoft.NETFramework\v2.0.50727\AssemblyFoldersEx\GAC_64但Visual Studio 2005仍然没有提起它....

64-bit visual-studio

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

为什么此X.509证书被视为无效?

我的服务器上安装了给定的证书.该证书具有有效日期,并且在Windows证书MMC管理单元中似乎完全有效.

但是,当我尝试读取证书时,为了在HttpRequest中使用它,我找不到它.这是使用的代码:

    X509Store store = new X509Store(StoreName.Root, StoreLocation.LocalMachine);
    store.Open(OpenFlags.ReadOnly); X509Certificate2Collection col =
    store.Certificates.Find(X509FindType.FindBySerialNumber, "xxx", true);
Run Code Online (Sandbox Code Playgroud)

xxx是序列号; 该参数true意味着"只有效证书".返回的集合为空.

奇怪的是,如果我通过false,表示可以接受无效证书,则该集合包含一个元素 - 具有指定序列号的证书.

总之:证书似乎有效,但该Find方法将其视为无效!为什么?

c# ssl certificate x509

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

对于负载均衡的ASP.NET应用程序,文件存储的最佳解决方案是什么?

我们有一个ASP.NET文件传递应用程序(内部用户上传,外部用户下载),我想知道分发文件的最佳方法是什么,所以我们只有将应用程序的文件存储在一个文件上才会出现单点故障服务器.我们将应用程序的负载分布在多个前端Web服务器上,这意味着对于文件存储,我们不能简单地在Web服务器上本地存储文件.

我们当前的设置让我们指向主数据库/文件服务器上的共享.在一天中,我们将主服务器上共享的内容复制到故障转移.这个scneario确保我们有一台辅助计算机上有相当新的数据但我们希望能够从主服务器故障转移到故障转移,然后再返回,而不会丢失前端应用程序中的数据或错误.现在,这是一个相当手动的过程.

可能的方案包括:

  • 的Robocopy.很简单,但它不容易让您在没有多个作业一直运行的情况下进行故障转移和返回(来回复制数据)
  • 将文件存储在SQL Server 2005中的BLOB中.我认为这可能是性能问题,尤其是对于大文件.
  • 在SQL Server 2008中使用FILESTREAM类型.我们镜像我们的数据库,所以这看起来很有希望.有人对此有经验吗?
  • 微软的分布式文件系统.由于我们只有2台服务器需要管理,因此从我读过的东西看起来有些过分.

那么你通常如何解决这个问题,什么是最好的解决方案?

sql-server asp.net infrastructure file

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

拥有服务器硬件是否过分?

由于这个社区中有大量热情的开发人员,我想收集你对此事的看法 - 你认为在家购买和操作实际的服务器硬件以增加自己的开发和学习是否过分或有利努力?

回到2003/4,当我跳进开发线时,我觉得服务器只属于数据中心,并且不相信家用服务器的价格; 消费者的计算能力已经相当稳固(当时),同样功能的PC可能只需要很少的成本.自从我还是个小学生以来,我已经组装了自己的个人电脑,我认为获得二手组件以构建新PC的活动是一件容易的事.准备一台PC作为我的开发测试的专用Windows 2003服务器是很简单的.但是三年多来,我一直在使用真正的服务器,尽管是低端型号.由于许多因素,我最终处于这种状态.

  1. 稳定性.服务器硬件可以一起正常工作.经测试可运行服务器操作系统.由于所有这些意外不兼容的有趣实例,我组装在一起的硬件可能会也可能不会工作.不幸的是,我经常遇到这种情况,比如不得不弄清楚为什么PC无法启动,因为我按特定顺序插入了RAM模块,或者通过简单使用特定的DVD驱动器.我没有看到我的服务器的单一BSOD.
  2. 耐用性.我让我的服务器全天候运行,多年来(幸运的是)没有遇到任何服务器硬件故障.相比之下,我的PC只是被快速失败率所诅咒.即便是我的供应商购买的笔记本电脑最终也会出现这样或那样的滑稽问题(尤其是电源单元).
  3. 保修.我可能对单个PC部件提供保修,但整个计算机的保修对我自己不利.如果事情失败了,我自己就是那个求助的人.打电话给自己,我做了好几次.但是,使用服务器,我打电话给techsupport并让他们更换部件.
  4. 能力.虚拟化确实是一件很棒的事情.使设置单用途机器变得更容易管理.我直接将我的第一台服务器加载到最大4GB RAM,并愉快地运行各种虚拟机,模拟我需要的多服务器/工作站环境.现在我的新服务器具有24GB RAM的容量,可以提供我想要试验的更大的场景(例如AD域,BizTalk服务器组,TFS组等).

总而言之,通过胡思乱想的DIY,我花费了更多的时间来解决硬件问题,而不是处理实际的开发问题.当我投入资金购买真正的服务器时,我的生活中的硬件问题立即出现了下降.如果我能找到适合我的开发需求的配置,我可能也会购买供应商制造的工作站.

现在,我的一些对工作充满热情的技术朋友也在家里经营自己的服务器.问题是,大多数其他人/同事都对我实际花钱购买此类机器感到相当惊讶.有些人会把我归类为疯子.我真的离开了吗?

更新 - 澄清服务器使用情况

基本服务器(Windows Server 2008)提供基本的IIS 7/ASP.NET,SQL Server 2008和Subversion服务.但它扮演的最大角色是在Hyper-V中托管各种虚拟机.我不是一个开发人员,只是被告知要针对单个数据库敲出应用程序代码并将其检入某个版本控制存储库然后回家而不必担心应用程序和实现如何在生产环境中运行.作为解决方案集成商,我必须了解客户/客户环境,并考虑包含基础架构和部署问题的全局解决方案.软件应用程序开发虽然是我的主要角色,但却只是解决方案的一部分.

我经常发现自己必须尝试并发现某些建议或方法是否适用于给定环境,并且必须准备虚拟服务器,如域(控制器),Web服务器,数据库服务器,BizTalk服务器组,Team Foundation服务器等进行我的分析并巩固我的建议.这些虚拟机可以作为我的个人POC使用.我面临的情景继续变大,我绝对不知道如何在没有允许我虚拟化和模拟它们的基础平台的情况下学习如何处理这些情况.

server-hardware

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

按钮控制模板与可调整大小的圆圈

我正在学习WPF中的控件模板,并了解如何使用自定义模板样式替换按钮外观.我看到要制作一个圆形按钮,必须使用相同的高度和宽度定义椭圆.

<Style x:Key="Button2" TargetType="Button">
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="Button">
                <Grid>
                    <Ellipse Fill="LightGreen" Width="80" Height="80"/>
                    <ContentPresenter HorizontalAlignment="Center"
VerticalAlignment="Center"/>
                </Grid>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
    <Setter Property="Control.Margin" Value="10"/>
</Style>
Run Code Online (Sandbox Code Playgroud)

当然,这只会强制使用该样式的所有按钮都有一个直径为80像素的圆,无论按钮的大小如何.我希望圆圈采用较短的高度/宽度值,以便它可以根据按钮大小调整动态缩放.

但是,我还没有阅读任何教导如何在纯XAML模板中完成此操作的材料?似乎需要一些代码隐藏来实现这种效果?

wpf styles button controltemplate

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

可以从命令行打包Windows Azure云项目,但不能部署到Windows Azure本身

我们有一个解决方案,其中包含一个Web应用程序项目,该项目旨在作为Windows Azure云服务中的Web角色.它还有一个仅针对云服务的云服务项目(生产槽)

SlnRoot\WebApp1\WebApp1.csproj SlnRoot\CloudDeployment\CloudServiceName\CloudServiceName.ccproj

从Visual Studio发布(部署)非常容易; 只需从云项目的上下文菜单中选择"发布..."选项,然后点击"发布",其中包含所有预配置的云服务设置.

现在我们正在进一步尝试自动化这个过程,所以我在没有Visual Studio的帮助下从命令行和原始MSBuild尝试它.

.nuget\nuget.exe restore
msbuild .\CloudDeployment\CloudServiceName\CloudServiceName.ccproj /t:Publish /p:PublishDir=..\..\pubout\ /fl1 /v:d
Run Code Online (Sandbox Code Playgroud)

但看来,Publish目标实际上是Visual Studio中的Package选项,只生成必须手动上传到Windows Azure门户的cspkg文件.当然,这不行.是否有一个单独的目标来指定执行Visual Studio如此轻松执行的附加步骤(部署不是它;没有这样的目标)?

msbuild build-automation azure

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