小编Mik*_*ike的帖子

以编程方式启动和停止IIS Express

我正在尝试在C#中构建一个小应用程序,它应该启动/停止IIS Express工作进程.为此,我想使用MSDN上记录的官方"IIS Express API":http://msdn.microsoft.com/en-us/library/gg418415.aspx

据我所知,API仅(仅)基于COM接口.为了使用这个COM接口,我通过Add Reference - > COM - >"IIS Installed Versions Manager Interface"在VS2010中添加了对COM库的引用:

到目前为止一切都很好,但下一步是什么?有一个IIISExprProcessUtility可用的接口,包括启动/停止IIS进程的两个"方法".我是否必须编写一个实现此接口的类?

public class test : IISVersionManagerLibrary.IIISExprProcessUtility
{
    public string ConstructCommandLine(string bstrSite, string bstrApplication, string bstrApplicationPool, string bstrConfigPath)
    {
        throw new NotImplementedException();
    }

    public uint GetRunningProcessForSite(string bstrSite, string bstrApplication, string bstrApplicationPool, string bstrConfigPath)
    {
        throw new NotImplementedException();
    }

    public void StopProcess(uint dwPid)
    {
        throw new NotImplementedException();
    }
} 
Run Code Online (Sandbox Code Playgroud)

如您所见,我不是一名专业开发人员.有人能指出我正确的方向.任何帮助是极大的赞赏.

更新1: 根据建议,我尝试了下面的代码,但遗憾的是它不起作用:

替代文字 好的,它可以实例化但我看不到如何使用这个对象...

替代文字

替代文字

IISVersionManagerLibrary.IIISExpressProcessUtility test3 = (IISVersionManagerLibrary.IIISExpressProcessUtility) Activator.CreateInstance(Type.GetTypeFromCLSID(new Guid("5A081F08-E4FA-45CC-A8EA-5C8A7B51727C")));

Exception: Retrieving the …
Run Code Online (Sandbox Code Playgroud)

c# com iis com-interop iis-express

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

可以/我应该在GPU上运行此代码吗?

我正在研究一个统计应用程序,它在一个数组中包含大约10-30万个浮点值.

有几种方法在嵌套循环中对数组执行不同但独立的计算,例如:

Dictionary<float, int> noOfNumbers = new Dictionary<float, int>();

for (float x = 0f; x < 100f; x += 0.0001f) {
    int noOfOccurrences = 0;

    foreach (float y in largeFloatingPointArray) {
        if (x == y) {
            noOfOccurrences++;
        }
    }

    noOfNumbers.Add(x, noOfOccurrences);
}
Run Code Online (Sandbox Code Playgroud)

当前的应用程序是用C#编写的,在Intel CPU上运行,需要几个小时才能完成.我不了解GPU编程概念和API,所以我的问题是:

  • 是否有可能(并且有意义)利用GPU来加速这样的计算?
  • 如果是:有没有人知道任何教程或获得任何示例代码(编程语言无关紧要)?

任何帮助将受到高度赞赏.

c c++ parallel-processing cuda gpu

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

实体框架代码优先:如何手动更新数据库?

我已经构建了一个小型WPF演示应用程序,该应用程序使用EF Code-First将其数据保存在SQL CE 4.0 DB中.除非我从模型对象中删除属性,否则它工作正常.例如,如果我从这个类中删除"HosteBy".....

public class Dinner
{
    public int DinnerID { get; set; }
    public string Title { get; set; }   
    public DateTime EventDate { get; set; }
    public string Address { get; set; }
    public string HostedBy { get; set; }

    public virtual ICollection<RSVP> RSVPs { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

...它抛出了这个异常:

自创建数据库以来,支持'NerdDinners'上下文的模型已更改.手动删除/更新数据库,或使用IDatabaseInitializer实例调用Database.SetInitializer.例如,DropCreateDatabaseIfModelChanges策略将自动删除并重新创建数据库,并可选择使用新数据对其进行种子设定.

即使从数据库中手动删除"HosteBy"字段后,该错误仍然存​​在.我在这里错过了什么?我是否必须删除/截断数据库,还是有其他解决方案?

.net sql-server-ce ef-code-first c#-4.0 entity-framework-4.1

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

EF Code First:我在哪里可以找到SavingChanges事件?

OK,这可能是一个新手的问题,但如何/我在哪里可以订阅ObjectContext.SavingChanges事件在此提到的例子岗位.

我的演示应用程序中只有两个相关的类:"Country"类和一个包含EF Code First"定义"的类:

internal class TestDb : DbContext
{
    public DbSet<Country> Countries { get; set; }       
}
Run Code Online (Sandbox Code Playgroud)

任何提示都受到高度赞赏.

.net c# entity-framework entity-framework-4 entity-framework-4.1

11
推荐指数
1
解决办法
4273
查看次数

为什么Linux或Windows下有不同的私钥字符串?

当我使用以下PHP代码(和相同的config-parameter)创建私钥字符串时,它们被包含在不同的字符串之间:

$configs = array('config' => 'OpenSSL.cnf',
                 'digest_alg' => 'sha1',
                 'x509_extensions' => 'v3_ca',
                 'req_extensions' => 'v3_req',
                 'private_key_bits' => 2048,
                 'private_key_type' => OPENSSL_KEYTYPE_RSA,
                 'encrypt_key' => false,
                 'encrypt_key_cipher' => OPENSSL_CIPHER_3DES);

$privateKeyResourceId = openssl_pkey_new($this->configs);                       
openssl_pkey_export($privateKeyResourceId, $privateKeyString);
Run Code Online (Sandbox Code Playgroud)

在Linux上,$ privateKeyString看起来像这样:

----- BEGIN PRIVATE KEY ----- NBgkqhkiG9w0BAQE .... ASDFasjkfa ----- END PRIVATE KEY -----

在Windows上,$ privateKeyString如下所示:

-----开始RSA私钥----- NBgkqhkiG9E .... ASDFasjkfa ----- END RSA私钥-----

当我将Windows私钥字符串复制到Linux时,它一直有效,直到我从开始/结束中删除'RSA'(反之亦然).为什么是这样?

php openssl rsa x509

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

C#中的RSA加密:什么部分定义了公钥?

我已经生成了一个新的公钥/私钥对并将其导出为XML字符串:

RSACryptoServiceProvider RSA = new RSACryptoServiceProvider(2048);  
string publicPrivateKey = RSA.ToXmlString(true);
Run Code Online (Sandbox Code Playgroud)

publicPrivateKey中的XML字符串如下所示(为了便于阅读,缩短了字符串):

<RSAKeyValue>
   <Modulus>t6tLd1Wi7PEkwPfx9KGP1Ps/5F2saXnOsCE2U....</Modulus>
   <Exponent>AQAB</Exponent>
   <P>3LJ5y4Vla7cS3XgmbIH5dQgppUHa+aSWavEOCbDRS/M....</P>
   <Q>1QyGIAnjv4YLcRVdwXtxWkijc+aZ496qIBZnCAUUD/E....</Q>
   <DP>0821dc0f+LBKOqIEvj4+2kJrNV5ueQesFBYkEsjPFM....</DP>
   <DQ>ugSzX2oDJwjdGKG1OOiVcmUWAm6IU4PpOxcUYtY8TC....</DQ>
   <InverseQ>LDQIQu+LSB6CSZBrGxNQthWi9mkuPGVZyDDr....</InverseQ>
   <D>qZm2bXKH8WwbsJ8ZlT3S1TbgUifppLrqSRkb8XqEcMv....</D> 
</RSAKeyValue>
Run Code Online (Sandbox Code Playgroud)

生成的公钥应该在其他应用程序(PHP/JavaScript/JAVA)中用于加密数据.上述XML的哪一部分定义了公钥/我必须将哪些部分发送给其他应用程序的开发人员?

而在另一方面:什么定义私钥/我必须存储哪些部分/部分才能解密由我的公钥加密的数据?

.net c# cryptography rsa public-key-encryption

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

MVC脚手架和EF'一对一或零'关系错误

在我的AspNet MVC 3项目中,当我尝试将一个与另一个实体具有一对一或一个关系的实体搭建时,我得到"已经添加了具有相同索引的项目"错误.

基本上,当相关表的主键也是外键时会发生这种情况.

目前我的解决方法是

  1. 将Id列添加到相关表中并使其成为主键

  2. 将唯一键添加到外键列.

这个问题是EF将为相关实体生成ICollection导航属性,而不仅仅是相关实体类型的属性(如果零相关实体,我可以设置为null)

这是一个知道错误吗?

难道我做错了什么?

是否有更好的解决方法摆脱ICollection导航属性?

.net c# entity-framework asp.net-mvc-3 asp.net-mvc-scaffolding

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

非阻塞套接字:消息是否排队?

据我了解,可以在PHP 5.x中创建一个非阻塞网络套接字.

但是如果脚本使用相同的非阻塞套接字发送几条长消息,会发生什么?

socket_write($socket, $string1, $length);
socket_write($socket, $string2, $length);
socket_write($socket, $string3, $length);
socket_write($socket, $string4, $length);
Run Code Online (Sandbox Code Playgroud)

这些消息是否排队(在发送方/接收方?)或接收方是否可能因为发送"并行"而获取不同消息的一部分?

例如:接收器是否有可能获得10个字节的$ string1,然后30个字节的$ string2,然后是另外25个字节的$ string1 ......依此类推......

php sockets asyncsocket php-5.3

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

C#通过反射设置对象DateTime属性值

我想将我的对象的所有DateTime属性设置为默认日期.但是,如果我尝试通过反射设置值,我会得到异常:"对象与目标类型不匹配".

private void SetDefaultValues()
{
    DateTime dt = DateTime.Parse("1/1/2000", new CultureInfo("en-US", true));
    foreach (PropertyInfo p in this.GetType().GetProperties())
    {
        if (p.PropertyType.FullName == "System.DateTime")
        {                                      
            p.SetValue(dt, typeof(DateTime), null);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我在做/思考一些根本不正确的事情吗?

.net c# reflection system.reflection c#-4.0

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

如何从证书中获取签名算法?

我想使用PHP函数openssl_verify()来验证不同X.509证书的签名.

除了签名算法之外,我还需要它(证书,$ data,$ signature,$ pub_key_id),但它存储在证书中.

在此输入图像描述

我的简单问题是:如何从证书中提取签名算法?

php openssl certificate x509certificate

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