小编Sis*_*utl的帖子

如何签署MSI?

我的公司希望阻止客户安装我们产品时出现的UAC弹出窗口.我们从VeriSign购买了证书(VeriSign Class 3 Code Signing 2010 CA),我收到了一份MyCompany.cer文件.

我通过双击并选择"个人"商店来安装证书.它现在出现在证书管理单元中,以及其他几个证书.snapin说其预期目的是"代码签名".我通过复制指纹获得了SHA1哈希.

我尝试使用此命令对msi进行签名:

signtool sign /sha1 <thumbprint> myInstaller.msi
Run Code Online (Sandbox Code Playgroud)

并收到一条消息"SignTool错误:未找到符合所有给定条件的证书."

如果我放弃"/ sha1",我会得到商店中大多数其他证书的清单 - 那些表示其预期用途是"<全部>"的证书未列出.

我究竟做错了什么?

code-signing certificate signtool

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

如何防止重复的回发混淆我的业务层

我有一个带有传统3层设计的Web应用程序(ASP.Net 3.5).如果用户单击按钮发生回发,则会运行一些中间和数据层代码,并刷新屏幕.如果用户在第一次回发完成之前多次单击该按钮,则我的逻辑会混淆,并且应用程序可能最终处于无效状态.防止这种情况的最佳方法是什么?

我可以使用javascript来禁用按钮,但这只是隐藏了问题.如何构建业务和数据层来处理这个问题?

asp.net duplicate-data form-submit

6
推荐指数
1
解决办法
5945
查看次数

如何在LINQ中"INSERT INTO table1(...)SELECT(...)FROM table2"?

如何编写LINQ to SQL等效于:

INSERT INTO Table1 (field1, field2, field3)
SELECT field1, field2, field3
FROM Table2
WHERE (field1= @field1)
Run Code Online (Sandbox Code Playgroud)

谢谢

.net linq-to-sql

6
推荐指数
2
解决办法
7680
查看次数

控制表单字段访问的最佳实践

我有一个经典的3层ASP.Net 3.5 Web应用程序,其中包含显示业务对象并允许对其进行编辑的表单.表单上的控件对应于底层业务对象的属性.用户将具有读/写,只读或不能访问各种控件,具体取决于他/她的角色.非常传统的东西.

我的问题是:用于编码的面向对象最佳实践是什么?有没有比在测试中包装每个控件更优雅的用户角色并设置其Visible和Enabled属性?

谢谢

asp.net

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

将DataReaders传递给构造函数是否可以?

我正在维护一些C#2.0代码,程序员通过打开DataReader然后将其传递给对象的构造函数来使用读取业务对象集合的模式.我看不出任何明显的错误,但对我来说感觉很糟糕.这样可以吗?

private static void GetObjects()
{
    List<MyObject> objects = new List<MyObject>();
    string sql = "Select ...";
    SqlConnection connection = GetConnection();
    SqlCommand command = new SqlCommand(sql, connection);
    connection.Open();
    SqlDataReader reader = command.ExecuteReader(CommandBehavior.CloseConnection);
    while (reader.Read())
        objects.Add(new MyObject(reader));
    reader.Close();
}

public MyObject(SqlDataReader reader)
{
    field0 = reader.GetString(0);
    field1 = reader.GetString(1);
    field2 = reader.GetString(2);
}
Run Code Online (Sandbox Code Playgroud)

c# constructor sqldatareader

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

仅显示安全内容

我们公司的网站(ASP.Net 3.5)使用SSL保护结帐页面。用户正在IE底部收到“仅显示安全内容”消息。他们中的许多人都吓坏了,放弃了他们的购物车,我们失去了一笔交易。安全保护位于子文件夹中,并且IIS7配置为在该子文件夹上要求SSL。我使用IE dev工具栏尝试查看导致此问题的原因并获得以下信息:

SEC7111: HTTPS security is compromised by http://www.myCompany.com/WebResource.axd?d=dJde0NlmEkubWa-RO0uUtg2&t=633833944103732959 
Login.aspx
SEC7111: HTTPS security is compromised by http://www.myCompany.com/ScriptResource.axd?d=-4ipYW6oMR5JKr02ccZdGEkLMeXnvSWAqFrG98oQ5--7NMeKPsjwSVXJeHzqvzhsd1bLH85MgJQdnNYNUNH1gAXPGD9gbk2fwYnJI-0eaw41&t=ffffffffa6437166 
Login.aspx
SEC7111: HTTPS security is compromised by http://www.myCompany.com/ScriptResource.axd?d=-4ipYW6oMR5JKr02ccZdGEkLMeXnvSWAqFrG98oQ5--7NMeKPsjwSVXJeHzqvzhsvkt8QvjGkHw2IYbLkF5RHr1t21TH0EEkLDcUGVpdxdE1&t=ffffffffa6437166 
Login.aspx
Run Code Online (Sandbox Code Playgroud)

我们也有很多令人讨厌的javascript文件,但是通过将它们复制到安全目录中来解决这些问题。这让Chrome和Firefox感到高兴,但我们仍然可以通过IE收到消息。

我如何才能停止弹出窗口,并避免将客户吓跑?

asp.net security ssl securityswitch

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

使用新的async / await语法调用Web服务

谁能指出我一个使用新的async / await语法从C#调用Web服务(不是WCF)的示例?像这样:

public async Task<List<Widgets>> GetWidgetsAsync()
{
    var proxy = new Service1();
    var response = await proxy.GetWidgetsAsync();
    return response.Result;
}
Run Code Online (Sandbox Code Playgroud)

c# soap asynchronous web-services async-await

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

需要帮助设计大数据库更新过程

我们有一个包含~100K业务对象的数据库.每个对象有大约40个属性,存储在15个表中.我必须得到这些对象,对它们执行一些转换,然后将它们写入不同的数据库(使用相同的模式.)这是ADO.Net 3.5,SQL Server 2005.

我们有一个库方法来编写单个属性.它确定属性进入的15个表中的哪一个,创建并打开连接,确定属性是否已存在并相应地插入或更新,并关闭连接.

我在程序中的第一个过程是从源DB读取一个对象,执行转换,并在其40个属性中的每一个上调用库例程,以将对象写入目标DB.重复100,000次.显然,这是非常无能为力的.

有哪些好的设计可以解决这类问题?

谢谢

architecture sql-server ado.net

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

在Entity Framework Where子句中使用标志

我有一个类(由我的数据库中的EF构建),它有一个标志字段.该字段作为名为CategoryEnum的列中的int存储在数据库中.我有一个枚举,指定标志的允许值:

[Flags]
public enum RuleCategories
{
    None = 0x0000,
    ApplicantBased = 0x0001,
    LocationBased = 0x0002,
    PolicyBased = 0x0004,
    PropertyBased = 0x0008
}
Run Code Online (Sandbox Code Playgroud)

当我尝试使用LINQ to Entities检索对象时

var allRules = from r in context.Rules
               where  ((r.CategoryEnum & (int)categories) != 0)
               select r;
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

无法创建"闭包类型"类型的常量值.在此上下文中仅支持原始类型(例如Int32,String和Guid').

或者,如果我尝试将实体值转换为枚举

var allRules = from r in context.Rules
               where (((RuleCategories)r.CategoryEnum & categories) != 0)
               select r;
Run Code Online (Sandbox Code Playgroud)

我得到一个不同的错误:

无法将类型'System.Int32'强制转换为类型RuleCategories'.LINQ to Entities仅支持转换实体数据模型基元类型.

如何根据标志选择实体?

谢谢

entity-framework

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

如何获取Entity Framework类继承基类

我有几个类继承自一个包含一些常用实用程序代码的抽象基类.我想转移到EF进行数据访问,但我仍然希望对象继承基类中的公共代码.EF类已经从EntityObject继承,所以我不能让它们继承我的基类.处理这个问题的正确方法是什么?我的环境是Net 3.5/C#

c# inheritance entity-framework

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

我可以在GridView中插入一行吗?

我正在维护一个ASP.Net 2.0网站,该网站在GridView中显示产品.客户询问我是否可以每隔10行显示一个"添加到购物车"按钮.我可以通过将按钮放在自己的列中并翻转可见性来做到这一点,但我想知道是否可以在每10个项目之后注入一个新行.这会将按钮放在自己的行上,并且当它不可见时不会占用列空间.有关如何做到这一点的任何想法?TIA

asp.net gridview

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

只读LINQ to SQL

我正在使用LINQ to SQL来访问我的数据库,但我只是在阅读,我从不插入,更新或删除任何东西.有没有办法优化LINQ2SQL?

readonly linq-to-sql

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

向接口属性添加约束

我正在编写一个接口,我想声明一个返回泛型集合的属性.集合的元素应该实现一个接口.这是可能的,如果是,那么语法是什么.

这不能编译,这是正确的方法吗?

interface IHouse
{
    IEnumerable<T> Bedrooms { get; } where T : IRoom
}
Run Code Online (Sandbox Code Playgroud)

谢谢

c# generics interface

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