问题列表 - 第24318页

C#,Windows服务:ServiceBase.Run,​​具有多个相同类型的服务

我正在尝试运行几个类似的服务,ServiceBase.Run(ServiceBase[] )但它只运行第一个. MSDN没有明确否认这一点; 这段摘录是否意味着它们都必须是不同的类型?(粗体是由我而不是MSDN)

在服务可执行文件的main()函数中调用此重载以加载一组关联的服务.

c# windows-services

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

从函数返回本地对象

这是从函数返回对象的正确方法吗?

Car getCar(string model, int year) {
   Car c(model, year);
   return c;
}

void displayCar(Car &car) {
   cout << car.getModel() << ", " << car.getYear() << endl;
}

displayCar(getCar("Honda", 1999));
Run Code Online (Sandbox Code Playgroud)

我收到一个错误,"收取临时地址".我应该这样使用:

Car &getCar(string model, int year) {
   Car c(model, year);
   return c;
}
Run Code Online (Sandbox Code Playgroud)

c++ memory reference function object

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

单一登录Web应用程序

我一直试图了解这个问题如何解决一个多月了.我真的需要提出一个有效的通用方法.我有一个理论,但我不确定这是最简单(或正确)的方法,而且我无法找到任何信息来支持我的想法.

这是场景:

1)您有一个复杂的Web应用程序,可以在订阅的基础上提供安全的内容.

2)用户需要使用用户名和密码登录您的应用程序.

3)您向已经拥有企业身份验证技术的大型公司(例如,Active Directory)销售.

4)您希望与企业身份验证机制集成,以允许其用户登录您的Web应用程序,而无需输入其用户名和密码.

现在,您提出的任何解决方案都必须提供以下机制:

  • 添加新用户
  • 删除用户
  • 改变用户信息
  • 允许用户登录

理想情况下,当公司客户对自己的身份验证进行相应更改时,所有这些都会"自动"发生.

现在,我有一个理论认为,这样做(至少对于Active Directory)的方法是我编写一个客户端应用程序,它与客户的Active Directory集成以跟踪目标更改,然后将这些更改传达给我网络应用.我认为如果这个通信是通过我的网络应用程序提供的Web服务完成的,那么它将保持不可控制的安全级别,这显然是这些公司客户的要求.

我找到了一些有关Microsoft产品的信息,称为Active Directory联合身份验证服务(ADFS),这对我来说可能是正确的方法,也可能不是.它看起来有点笨重,并且有些要求可能对所有客户都不起作用.

对于其他现有ID方案(如Athens和Shibboleth),我认为不需要客户端应用程序.这可能只是与现有ID服务相关联的问题.

我很感激任何人对我在这里提到的任何建议.特别是,如果你能告诉我,我的理论是否正确,提供了一个与服务器端Web服务通信的客户端应用程序,或者我是否完全朝着错误的方向前进.此外,如果你能指出我在任何网站或文章解释如何做到这一点,我真的很感激.到目前为止,我的研究还没有发现太多.

最后,如果您能告诉我当前提供此服务的任何Web应用程序(特别是与企业Active Directory相关联),我将非常感激.我想知道其他B2B Web应用程序是否像salesforce.com或hoovers.com为其企业客户提供类似的服务.

我讨厌在黑暗中,并且非常感谢你能摆脱的任何光......

杰里米

active-directory shibboleth single-sign-on

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

抛出异常与使用switch语句返回null值

所以我有一个函数格式化一个日期来强制给定枚举DateType {CURRENT,START,END}什么是处理返回值的最佳方法与使用switch语句的情况

public static String format(Date date, DateType datetype) {
    ..validation checks

    switch(datetype){
    case CURRENT:{
        return getFormattedDate(date, "yyyy-MM-dd hh:mm:ss");
    }               
    ... 
     default:throw new ("Something strange happend");
    }

}
Run Code Online (Sandbox Code Playgroud)

或者在最后抛出激动

   public static String format(Date date, DateType datetype) {
            ..validation checks

            switch(datetype){
            case CURRENT:{
                return getFormattedDate(date, "yyyy-MM-dd hh:mm:ss");
            }               
            ... 
            }

               //It will never reach here, just to make compiler happy 
        throw new IllegalArgumentException("Something strange happend");    
        }
Run Code Online (Sandbox Code Playgroud)

或者返回null

public static String format(Date date, DateType datetype) {
            ..validation checks

            switch(datetype){
            case CURRENT:{
                return …
Run Code Online (Sandbox Code Playgroud)

java return-value

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

在内存中保存变量,C++

今天出现了一些奇怪的事情.当我想用旧的方式在C(C++)中保存一些字符串时,不使用字符串头,我只是创建数组并将该字符串存储到其中.但是,我读到在本地功能范围内C中的任何变量定义最终都会将这些值推送到堆栈中.

因此,字符串实际上比需要的大2倍.因为首先,推送指令位于存储器中,但是当它们被执行(推入堆栈)时,创建了字符串的另一个"副本".首先是推送指令,而不是堆栈空间用于一个字符串.

那么,为什么会这样呢?为什么编译器只是将字符串(或其他变量)添加到程序中而不是在执行时再次创建它们?是的,我知道你不能只在程序块中有一些数据,但它可能只是附加到程序的末尾,之前有一些跳转指令.而且,我们只是指出这些数据?因为它们在执行程序时存储在RAM中.

谢谢.

c arrays string

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

为什么给标签赋予固定宽度可接受的行为?

关于格式化表单有很多问题,以便标签对齐,几乎所有建议纯CSS解决方案的答案(与使用表格相反)都为label元素提供了固定的宽度.

但这不是混合内容和演示吗?为了选择合适的宽度,您基本上必须看到最长标签的大小,并尝试像素宽度值,直到"它适合".这意味着如果您更改标签,则还必须更改CSS.

html css

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

使用Perl删除一个非常庞大的文件夹的最佳策略是什么?

我需要删除给定文件夹下的所有内容(文件和文件夹).问题是文件夹里面有数百万个文件和文件夹.所以我不想一次性加载所有文件名.

逻辑应该是这样的:

  • 迭代文件夹而不加载所有内容
  • 获取文件或文件夹
  • 删除它 (详细说明文件或文件夹"X"已删除)
  • 去下一个

我正在尝试这样的事情:

sub main(){
  my ($rc, $help, $debug, $root)   = ();
  $rc = GetOptions ( "HELP"           => \$help,
                     "DEBUG"          => \$debug,
                     "ROOT=s"         => \$root);

  die "Bad command line options\n$usage\n" unless ($rc);
  if ($help) { print $usage; exit (0); }

  if ($debug) {
      warn "\nProceeding to execution with following parameters: \n";
      warn "===============================================================\n";
      warn "ROOT = $root\n";

  } # write debug information to STDERR

  print "\n Starting to delete...\n";  

  die "usage: $0 dir …
Run Code Online (Sandbox Code Playgroud)

perl file-handling

4
推荐指数
3
解决办法
1499
查看次数

Rails类<< self

我想了解class << self下一个例子中的含义.

module Utility
  class Options #:nodoc:
    class << self
      def parse(args)          
      end
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

ruby class

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

设计以避免派生类中的类型转换?

public interface IBasePresenter
{
}
public interface IJobViewPresenter : IBasePresenter
{
}
public interface IActivityViewPresenter : IBasePresenter
{
}

public class BaseView 
{
    public IBasePresenter Presenter
    {
        get;
        set;
    }
}

public class JobView : BaseView
{
    public IJobViewPresenter JobViewPresenter
    {
        get { this.Presenter as IJobViewPresenter;}
    }
}

public class ActivityView : BaseView
{
    public IActivityViewPresenter ActivityViewPresenter
    {
        get { this.Presenter as IActivityViewPresenter;}
    }
}
Run Code Online (Sandbox Code Playgroud)

让我们假设我需要在BaseView上使用IBasePresenter属性.现在这个属性是由JobView和ActivityView继承的,但是如果我需要在这些派生类中引用IJobViewPresenter对象,那么我需要输入转换IBasePresenter属性到IJobViewPresenter或IActivityPresenter(我想避免)或者在派生类上创建JobViewPresenter和ActivityViewPresenter(如如上所示).

我想避免在派生类中进行类型转换,仍然引用IJobViewPresenter或IActivityViewPresenter,并且在BaseView中仍然有IBasePresenter.

有没有办法实现它?

.net c# design-patterns

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

如何在Visual Studio中禁用本地化错误?

我使用Visual Studio 2008,它真的让我疯狂如何显示错误消息(在错误列表窗口,输出窗口 - 特别是例外)部分用英语,部分用我的母语.有趣的是,它在WPF中比在WinForms项目中更糟糕.我在这里读到它是关于正在运行的线程的文化(因此问题出在.NET的设置中).

我为什么要解决它?这很简单,因为如果我遇到错误信息并且我不知道它究竟意味着什么或如何解决问题,那么尝试使用除英语之外的任何其他语言来解决问题是非常有问题的.例如,为调试目的设置英语会很有用.

如何解决问题?

谢谢你的任何建议!

localization visual-studio

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