小编Dun*_*can的帖子

HTML DTD - 有什么意义?

可能重复:
html中有哪些不同的doctypes,它们是什么意思?

对网络开发的某些方面缺乏经验(我总是更多地集中在后端而不是前端),任何人都可以告诉我他是否应该担心网页开头的DOCTYPE声明吗?

是最常见的HTML 4.01,我应该构建我的Web应用程序以符合此标准吗?

html doctype dtd

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

Web服务接口 - 复杂类型作为参数?

只是寻找有关Web服务界面设计的最佳实践的一些反馈.

我有两个选择:

选项1

public string GetSomeData(SomeCriteriaClass criteria);
Run Code Online (Sandbox Code Playgroud)

其中SomeCriteriaClass定义为:

public int ID;
public string Name;
public string Property2; etc.
Run Code Online (Sandbox Code Playgroud)

选项2

public string GetSomeData(int id, string name, string property2)
Run Code Online (Sandbox Code Playgroud)

哪个是首选?这似乎是设计模式的冲突 - 1是在一个类中包装参数,而另一个是保持Web服务接口的灵活性和开放性.

第二个问题是 - 如果我们选择Option1 - 你如何通过URL调用它?

谢谢

web-services

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

我需要确保我的网络服务安全吗?

如果我要在与我的网站相同的计算机上托管Web服务,并将敏感信息传递给它,我是否需要使用https进行呼叫?

例如,我会使用localhost引用它,所以这些信息不会安全,因为它不是通过不安全的通道传输的吗?

编辑:我应该提到这个Web服务无法从外部访问.

谢谢

security web-services

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

为什么自动属性需要getter和setter?

在C#中,如果我声明一个自动实现的属性,为什么我必须声明get和set部分?

public string ThisWorks { get; set; }

public string ThisDoesnt { get; }
Run Code Online (Sandbox Code Playgroud)

这不仅仅是语法糖 - 即编译器为属性插入一个私有字段?那问题为什么呢?

好奇.

.net c# automatic-properties

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

依赖注入框架会导致糟糕/懒惰的设计吗?

我对DI概念很新,但我在设计中已经在某种程度上使用它 - 主要是通过'注入'接口到构造函数并让工厂创建我的具体类.好的,它不是基于配置的 - 但它永远不需要.

我开始研究诸如Spring.NET和Castle Windsor之类的DI框架,并偶然发现了Ayende的博客.

我从中得到的是

A)DI框架很棒,但B)这意味着我们不必担心我们的系统是如何根据依赖性设计的.

对我来说,我已经习惯于如何松散地耦合我的系统,但同时对依赖关系进行某种控制.

我有点害怕失去这种控制,它只是一个免费的.ClassA需要ClassB =没问题,只要问,你就收到了!嗯.

或者这就是重点,这就是未来,我应该选择它吗?

思考?

dependency-injection

3
推荐指数
2
解决办法
543
查看次数

FlexiGrid - 在代码中设置Grid的宽度

我正在尝试Flexigrid用于一个新的应用程序 - 我真的很感动它但我找不到一种方法来设置代码的宽度.

这样做的主要原因是获取GRID(而不是网格内的列)以完全对齐窗口的大小.我知道,这是对水平缩放器的嘲弄,但这就是我必须要做的!

仅供参考我的设置如下:

$(document).ready(function() {
    $("#flex1").flexigrid
    (
    {
        url: '<%= ResolveUrl("~/Data.ashx") %>?filter=none',
        dataType: 'json',
        colModel: [
        { display: '', name: 'view', width: 20, sortable: true, align: 'center' },
        { display: 'Street', name: 'Street', width: 260, sortable: true, align: 'left' },
        { display: 'Town', name: 'Town', width: 200, sortable: true, align: 'left' },
        { display: '', name:'Actions', width:30, sortable: false, align: 'center' }
        ],
        sortname: "Street",
        sortorder: "asc",
        usepager: true,
        title: 'Streets',
        useRp: true,
        rp: 15,
        showTableToggleBtn: …
Run Code Online (Sandbox Code Playgroud)

javascript jquery flexigrid

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

数据库设计 - 暴露主键

想象一下,我有一张Customer表.

在这个表中是一个ID列,主键int,Identity,所有爵士乐.我们的客户也有一个名字.

现在,如果我要在报告或电子邮件中发送信息,我的网站中有一个链接可以唯一地标识该客户,那么使用主键ID字段是一种好的做法吗?

我所有的直觉都告诉我这很可怕,并且代理ID应该只能用于数据库 - 并且永远不会以这种方式暴露给外部世界.

但我正在寻找将来可以使用的杀手论证,如果(当)提出这个案例.

思考?

database-design

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

SQL Server SCOPE_IDENTITY() - 线程安全

我们必须自己修改数据库并管理IDENTITY列(而不是依赖于auto-inc字段).

我们的解决方案是有一个"生成器"表,它有一个auto-inc字段.我们插入此表,然后读取SCOPE_IDENTITY值以获取我们的新ID,例如

insert into NewIDEntity
        (CreationDate)
        select
        GetDate()

select @EntityID = SCOPE_IDENTITY()
Run Code Online (Sandbox Code Playgroud)

我们主要关注以下场景:

•事务1 INSERTS进入NewID并接收101作为要插入实体表的新ID.
•在它可以提交之前,将事务2 INSERTS转换为NEWID并且还接收101作为新ID(这是因为SCOPE_IDENTITY()将在当前范围的上下文中返回ID.原始行尚未提交,因此我们期望值为101)

•事务1提交并写入行.
•事务2尝试提交但已写入101并导致主键违规并中止事务.

但是在运行时,似乎SCOPE_IDENTITY()由SQL Server处理,即使在READ UNCOMMITTED隔离级别下运行,我们也不会发生冲突.

这没关系,还是我们找不到的东西?

谢谢邓肯

sql-server identity

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

在Razor的Javascript中嵌入Html.ActionLink

我知道可以在MVC3中的Javascript中嵌入@Html,但是我无法使用以下内容并且不确定这是否可行.

使用jQuery DataTable,我有一个AJAX调用来创建我的新行,然后我使用datatable API以编程方式添加它.这一切都有效,但后来我想把我的编辑ActionLink放到行上,它只显示文本"编辑",而不是链接.

当然我可以手动完成,只是想知道是否有更好的选择.

例如

 tablePallets.fnAddData([ GetPalletActionLinks(), etc...


    function GetPalletActionLinks() {
        var result = @Html.ActionLink("Edit", "EditPallet", new { id = 1 });
        return result;
}
Run Code Online (Sandbox Code Playgroud)

我目前硬编码ID = 1,但我可以轻松地为新创建的行获取此信息.

谢谢邓肯

asp.net datatable jquery razor asp.net-mvc-3

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

MVC3共享布局 - 局部视图

我想在我的共享布局模板中包含一个部分视图.此部分视图也有自己的控制器和模型,例如

_MyPartialView.cs

@model MyModelClass

..一些代码.. @ Model.SomeProperty

PartialController.cs

 public PartialViewResult RenderMyPartial()
    {
        var model = new MyModelClass();
        model.Initialize();
        return PartialView("_MyPartialView", model);
    }
Run Code Online (Sandbox Code Playgroud)

_Layout(共享布局)

@ Html.Action("RenderMyPartial","PartialController")

这里的意图是布局页面将调用PartialController,它将消失并填充模型并返回部分视图,该部分视图将绑定到此模型并在共享布局主模板中呈现.

但是当我运行它时,我收到以下错误:

未找到路径'/ XXX /'的控制器或未实现IController.

我已经环顾四周,但很惊讶这似乎不是一个非常常见的设计模式,并想知道为什么?有任何想法吗?

谢谢邓肯

partial-views asp.net-mvc-3

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

ASP.NET - 关注点分离

想象一下以下场景 - 我们有Page1包含控件A和控件B.

说控制A有一个按钮,单击此按钮我们希望控制B做出反应.但我们希望以抽象的方式做到这一点,即我们不能让Control B知道有关Control A的任何信息,反之亦然.

这样我们就可以孤立地开发这些控件,并通过单元测试来驱动它们.

现在,我以为我有解决方案,只想知道你们对它的看法.

在Control A的按钮上单击,我在Session上放了一条"消息",即Session ["MESSAGES"] ="ControlA_Click".

在Page1中,在Page_LoadComplete()上,我调用了ProcessMessages,如下所示:

            List<Message> messages = SessionMessages.GetMessageList(Page);
        foreach(Message m in messages)
        {
            //Get Controls
            ControlA controlA = FindControl("controlA") as ControlA;
            controlA .ProcessMessage(m);

            ControlB controlB = FindControl("controlB") as ControlB;
            controlB.ProcessMessage(m);
      }
Run Code Online (Sandbox Code Playgroud)

在ControlB的ProcessMessage()方法中,我们可以对ControlB感兴趣的消息做出反应,如下所示:

    if (m.MessageName == SessionMessages.C_MESSAGE_SEARCH)
{
    this.Visible = true;
}
Run Code Online (Sandbox Code Playgroud)

对我而言,这似乎有效.它允许我们完全独立地开发这些控件,同时仍允许在抽象级别进行控制间通信.

我能想到的唯一的事情可能会带来这样轰然倒下的也许 ASP.NET生命周期有关页面和用户控件.我的方法是,在拥有页面上调用Page_LoadComplete()之前,应该在控件上处理所有事件.

思考?

asp.net unit-testing mocking separation-of-concerns isolation

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

从LINQ结果创建XML

如果我使用LINQ从数据库中检索结果,有没有办法可以自动生成XML来生成XML?

例如:

DataClasses1DataContext db = new DataClasses1DataContext(C_CONN_STRING);
var q = from stock in db.GetTable<Stock>()
        where stock.Group == 1
        select stock;

foreach(Stock s in q)
{
     //automatically create XML document here?
}
Run Code Online (Sandbox Code Playgroud)

对不起,如果这是一个非常基本的问题,任何帮助表示赞赏

xml linq

0
推荐指数
1
解决办法
400
查看次数