小编Cod*_*ick的帖子

是否已添加事件处理程序?

有没有办法判断是否已将事件处理程序添加到对象中?我正在将对象列表序列化为进入/退出会话状态,因此我们可以使用基于SQL的会话状态...当列表中的对象更改了属性时,需要对其进行标记,事件处理程序在此之前正确处理.但是现在当对象被反序列化时,它没有得到事件处理程序.

在轻微的烦恼中,我刚刚将事件处理程序添加到访问该对象的Get属性中.它现在被调用,这很好,除了它被调用5次,所以我认为处理程序只是在每次访问对象时都会被添加.

它真的很安全,只是忽略,但我宁愿通过检查处理程序是否已被添加来使它更清洁,所以我只这样做了一次.

那可能吗?

编辑:我不一定完全控制添加什么事件处理程序,所以只检查null是不够的.

.net c# asp.net

173
推荐指数
6
解决办法
13万
查看次数

SSIS Excel导入强制不正确的列类型

我正在尝试使用SSIS将电子表格导入我们的数据库.出于某种原因,SSIS想要相信其中两列是Double类型,当它们包含字符数据时.我已经尝试将列重新映射为nvarchar(255),但它仍然不想选择它认为是双倍的数据,因为它中有字符.如果我尝试编辑SSIS包并更改Excel源中的列类型,它将不允许我更改错误输出中的列类型,如果常规输出和错误输出列不比赛.

为什么SSIS坚持认为这些列是Double?我怎么能强迫它实现这些字符串呢?为什么微软的所有东西都不能正常工作?

编辑:我发现了这个:http://support.microsoft.com/kb/236605

我对数据进行了排序,以便混合数据类型位于顶部,然后猜测:问题发生了逆转.它不再导入字符数据,而是停止导入纯数字数据.显然有人不认为12345可以表示为字符串......

sql-server excel types ssis

49
推荐指数
5
解决办法
10万
查看次数

如何在IIS6上运行.NET 4.5网站?

我有一台运行IIS 6的旧Windows 2003服务器,我选择.net 4.5作为我最新的网络应用程序.问题是我无法让它在服务器上运行...

安装了.NET 4.0框架.我运行了aspnet_regiis并部署了网站.我给它自己的应用程序池.但是我收到以下错误:

The 'targetFramework' attribute in the <compilation> element of the Web.config 
file is used only to target version 4.0 and later of the .NET Framework (for 
example, '<compilation targetFramework="4.0">'). The 'targetFramework' attribute
currently references a version that is later than the installed version of the 
.NET Framework. Specify a valid target version of the .NET Framework, or install 
the required version of the .NET Framework.
Run Code Online (Sandbox Code Playgroud)

我看到.NET 4.5的要求需要Windows Server 2008或更高版本,但是我看到很多人只需要为MVC4配置路由,所以看起来这应该是可能的.

所以我需要做些什么才能让它发挥作用?

编辑:奇怪的是我们正在使用一个工作得很好的ASP.NET Web API站点...但这应该需要.net 4.5 ...

iis-6 windows-server-2003 asp.net-mvc-4 .net-4.5

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

删除t-sql中所有大表的最佳方法是什么?

我们遇到了一个有点奇怪的情况.基本上,我们的一个数据库中有两个表格,这些表格是我们不需要或不关心的大量日志信息.部分原因是我们的磁盘空间不足.

我正在试图清理表格,但这是永远的(在周末运行之后仍有57,000,000条记录......而这只是第一张桌子!)

只是使用删除表是永远占用并占用驱动器空间(我相信因为事务日志.)现在我正在使用while循环一次删除记录X,同时玩X来确定实际上最快的.例如,X = 1000需要3秒,而X = 100,000需要26秒......其中数学运算稍快一些.

但问题是,是否有更好的方法?

(完成此操作后,要运行SQL代理作业,请每天清理一次表...但需要先清除它.)

sql sql-server-2005

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

似乎无法使用Razor的foreach和if语句有条件地创建新的表行?

我想要一个循环来动态创建一个最多2列宽的表,然后增加行数,直到列表中没有任何条目.听起来很简单,我想出了这个:

<table>
                    <tr>
                        @{ var i = 0; }
                        @foreach (var tm in Model.TeamMembers)
                        {
                            <td>@tm.FirstName @tm.LastName @tm.Role</td>

                            if(++i % 2 == 0)
                            {
                                </tr>
                                <tr>
                            }
                        }
                    </tr>
                </table>
Run Code Online (Sandbox Code Playgroud)

但我得到错误说明for for循环和if语句.如果我将标签更改为其他标签(例如),它可以正常工作.

我的猜测是它试图验证行的结尾,看到它并决定循环必须结束?我怎么能不这样做,或者我是否需要将整个表放在循环中并带有一堆杂乱的条件?:(

razor asp.net-mvc-3

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

在部署ASP.NET站点时如何处理连接字符串?

现在我们的测试和生产数据库位于同一台服务器上,但名称不同.部署意味着编辑Web.config以更改正确数据库的所有连接字符串.我经常忘记的一步......

我们最终创建了一个用于测试的新数据库服务器,我正在移动数据库......但现在服务器将会有所不同,我们仍然需要处理连接字符串问题.

我正在考虑通过主机文件来管理它,但是当我需要对生产数据进行测试时想到在我的台式机上切换它似乎很麻烦.

所以我只是想知道是否有更好的方法.使用"生产"Web配置进行部署的东西将是理想的......

asp.net deployment

9
推荐指数
3
解决办法
4231
查看次数

我是否正确使用Automapper 2.0的Include功能?

我不是,或者它不工作......我有一个Source类,我想要映射到彼此继承的多个视图.

基本类是Detail,子类是Edit或Update,它使用与Detail相同的所有数据,还有一些其他字段来管理自己的列表或其他任何内容.

这是我正在使用的地图:

Mapper.CreateMap<Ticket, Detail>()
                .Include<Ticket, Update>()
                .Include<Ticket, Edit>()
                .ForMember(dest => dest.Priority, opt => opt.MapFrom(src => src.Priority.Code))
                .ForMember(dest => dest.TicketID, opt => opt.MapFrom(src => src.ID))
                .ForMember(dest => dest.Status, opt => opt.MapFrom(src => src.StatusCode))
                .ForMember(dest => dest.Category, opt => opt.MapFrom(src => src.ProblemCategoryCode))
                .ForMember(dest => dest.crmBusCode, opt => opt.MapFrom(src => src.Company.crmBusCode))
                .ForMember(dest => dest.TeamMembers, opt => opt.MapFrom(src => src.Schedules.Where(s => s.CompleteTime == null)));

            Mapper.CreateMap<Ticket, Update>()
                .ForMember(m => m.Schedules, opt => opt.MapFrom(t => t.Schedules.Where(s => s.EmployeeID == Util.CurrentUserID() && s.CompleteTime == null)));

            Mapper.CreateMap<Ticket, …
Run Code Online (Sandbox Code Playgroud)

c# automapper automapper-2

8
推荐指数
2
解决办法
3162
查看次数

无法将NetTopologySuite FeaturesCollection序列化为GeoJSON

试图返回一些非常简单的GeoJSON数据.我找到了NetTopologySuite,并设置了一个简单的FeaturesCollection,并试图将其序列化为GeoJson字符串,只是为了得到以下错误:

"使用类型'GeoAPI.Geometries.Coordinate'检测属性'CoordinateValue'的自引用循环.路径'特征[0] .Geometry.Coordinates [0]'."

查看类标题,Point使用Coordinate,它具有Coordinate属性,因此我可以看到为什么会有循环引用.问题是,大多数(如果不是全部)几何图形似乎都使用了Point,这样就不可能对任何东西进行序列化......除非我遗漏了一些东西.

这是一个错误还是我错过了什么?

仅使用Point进行测试并得到相同的错误,所以这里是代码:

using NTS = NetTopologySuite;

var ret = new NTS.Geometries.Point(42.9074, -78.7911);

var jsonSerializer = NTS.IO.GeoJsonSerializer.Create();

var sw = new System.IO.StringWriter();
jsonSerializer.Serialize(sw, ret);

var json = sw.ToString();
Run Code Online (Sandbox Code Playgroud)

.net c# nettopologysuite

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

绑定ListView中的DropDownList InsertItemTemplate抛出错误

我有一个ListView绑定到LinqDataSource并显示选定的位置.插入项包含一个下拉列表,该列表从另一个LinqDataSource拉出以提供所有未选择的位置.

问题是加载页面时出现以下错误:

数据绑定方法(如Eval(),XPath()和Bind())只能在数据绑定控件的上下文中使用.

我在网站的另一个页面上做了一个非常类似的设置,并没有给我们这个错误,所以我很困惑.我知道我可以通过不绑定,手动查找控件和获取值来解决这个问题,但这应该工作,我不明白为什么不是.

有什么想法吗?

源代码的更好部分如下.

<asp:LinqDataSource ID="ldsLocations" runat="server" 
    ContextTypeName="ClearviewInterface.ESLinqDataContext" EnableDelete="true" EnableInsert="true"
    OnInserting="ldsLocations_Inserting" OnDeleting="ldsLocations_Deleting" 
    TableName="crmLocations" OrderBy="addr1" OnSelecting="ldsLocations_Selecting" />

<asp:LinqDataSource ID="ldsFreeLocations" runat="server" 
    ContextTypeName="ClearviewInterface.ESLinqDataContext" OrderBy="addr1" 
    TableName="v_CVLocations" OnSelecting="ldsFreeLocations_Selecting" />

<asp:ListView ID="lvLocations" DataSourceID="ldsLocations" DataKeyNames="ID" InsertItemPosition="LastItem" runat="server" >

<InsertItemTemplate>
        <tr>
            <td colspan="6"><hr /></td>
        </tr>
        <tr>
            <td colspan="2">

                <asp:DropDownList    ID="ddlFreeLocations" DataSourceID="ldsFreeLocations" DataTextField="addr1" 
                                        DataValueField="record" MarkFirstMatch="true" SelectedValue='<%# Bind("record") %>' 
                                        runat="server" />
            </td>
            <td><asp:ImageButton ID="btnAdd" CommandName="Insert" SkinID="Insert" runat="server" /></td>
        </tr>

    </InsertItemTemplate>
Run Code Online (Sandbox Code Playgroud)

asp.net data-binding linq-to-sql

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

这些面试问题对初学者来说太具挑战性了吗?

所以我今天只采访了两个人,并给他们"测试",看看他们的技能是什么样的.两人都是入门级申请人,其中一人实际上还在上大学.申请人都没有看到以下代码有任何问题.

我这么做,显然或者我不会选择那些例子. 你觉得这些问题对于新手程序员来说太苛刻吗?

我想我也应该注意到他们都没有多少经验与C#...但我不认为这些问题与语言有关.

//For the following functions, evaluate the code for quality and discuss.  E.g.
//E.g. could it be done more efficiently? could it cause bugs?        
public void Question1()
{
    int active = 0;

    CheckBox chkactive = (CheckBox)item.FindControl("chkactive");
    if (chkactive.Checked == true)
    {
        active = 1;
    }

    dmxdevice.Active = Convert.ToBoolean(active);
}

public void Question2(bool IsPostBack)
{
    if (!IsPostBack)
    {
        BindlistviewNotification();
    }

    if (lsvnotificationList.Items.Count == 0)
    {
        BindlistviewNotification();
    }
}


//Question 3
protected void lsvnotificationList_ItemUpdating(object sender, ListViewUpdateEventArgs e)
{
   ListViewDataItem …
Run Code Online (Sandbox Code Playgroud)

c#

5
推荐指数
8
解决办法
8256
查看次数