小编Met*_*uru的帖子

构建与数据格式分离的ASP.NET MVC REST API的代码的最佳方法是什么?

我在ASP.NET MVC中创建REST API.我希望请求和响应的格式是JSON或XML,但是我也想让它更容易添加另一种数据格式,并且很容易先创建XML并稍后添加JSON.

基本上我想指定我的API GET/POST/PUT/DELETE请求的所有内部工作方式,而不必考虑数据的格式或它将留下的内容,我可以稍后轻松指定格式或更改它每个客户.所以一个人可以使用JSON,一个人可以使用XML,一个人可以使用XHTML.然后我可以添加另一种格式,而无需重写大量代码.

我不想在我的所有操作结束时添加一堆if/then语句并确定数据格式,我猜我有一些方法可以使用接口或继承等来做到这一点,只是不确定最好的方法.

xml rest asp.net-mvc json loose-coupling

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

为什么HTML编码会阻止某些XSS攻击?

我一直在阅读你在从服务器回到客户端的路上的HTML编码(我认为?),这将阻止许多类型的XSS攻击.但是,我根本不明白.浏览器仍然会消耗和呈现HTML吗?

这是怎么阻止的?

我已经在多个地点,网站和书籍中读到过这个,并且它实际上无法解释为什么这样做.

html xss

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

在.NET中检查/读取/编写cookie,请帮助我理解

所以我以前从来没有使用过cookies,但现在我正在制作购物车,他们可以继续回来和离开,但我希望它能存储他们添加的东西.

我想知道的是:

如何检查cookie是否存在然后创建或更新它,这是考虑使用cookie的最佳方式吗?

我将如何存储数据,特别是我想存储一个ID列表,如"5,6,7,8",我应该只使用一个字符串,还是比读取/解析更快/更好的方式/写那样的东西?我的意思是我想我会继续添加new_value +','到最后,是否有一个cookie变量的附加?

cookie是否有一些唯一的标识符,我会用它来确保我不写重复或什么?

注意:查看'HOW'很容易看到语法,但我真的想要掌握'最佳方式'或最理想,它是如何使用的,或者你所有程序员发现的是最有成效的在这种情况下利用它们的方法.

c# asp.net cookies

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

有没有办法'模拟'右键单击save-as命令或强制在浏览器中使用JavaScript下载文件?

我有这种情况,我们有媒体文件存储在全球CDN上.我们的网络应用程序托管在它自己的服务器上,然后当需要媒体资产时,它们从CDN网址调用.最近我们有一个用户可以下载文件附件的页面,但是有些文件类型是在浏览器中打开而不是下载(例如MP3).解决这个问题的唯一方法是手动指定HTTP响应以附加文件,但我唯一能做到这一点的方法是将文件从CDN下载到我的服务器然后将其反馈给用户,这违背了拥有它的目的在全球CDN上.相反,我想知道是否有一些客户端解决方案吗?

编辑:刚刚发现这个地方,虽然我不确定它是否适用于所有浏览器?

<body>
<script>
function downloadme(x){
myTempWindow = window.open(x,'','left=10000,screenX=10000');
myTempWindow.document.execCommand('SaveAs','null','download.pdf');
myTempWindow.close();
}
</script>

<a href=javascript:downloadme('/test.pdf');>Download this pdf</a>
</body>
Run Code Online (Sandbox Code Playgroud)

重新编辑:哦,这个想法太多了 - > execCommand SaveAs在Firefox中运行吗?

javascript http download right-click save-as

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

如果你.Remove()List <T>中的特定项目是否也删除了'空槽'?

如果需要,请随意更正我的术语和理解列表.

如果我有一个包含五个项目的列表,其中每个项目都有一个唯一的ID ...

[item 1]
[item 2]
[item 3]
[item 4]
[item 5]
Run Code Online (Sandbox Code Playgroud)

我删除ID为72的项目(例如),它恰好是列表中的第3个...

会不会像这样结束......

[item 1]
[item 2]
[null]
[item 4]
[item 5]
Run Code Online (Sandbox Code Playgroud)

或者像这样

[item 1]
[item 2]
[item 3]
[item 4]
Run Code Online (Sandbox Code Playgroud)

过去的第4项现在是第3项,等等.

请解释一下你是否可以:)

c#

6
推荐指数
3
解决办法
2643
查看次数

如何从List <object>中删除所有对象,其中object.variable在任何其他object.variable2中至少存在一次?

我无法弄清楚如何编写此代码.

我有一个项目列表,这些项目都有ID.还有另一个我们称之为otherID的值.如果otherID为零或null,我们将忽略它.但是,如果otherID包含列表中另一项的ID,我想从列表中删除该项.

例:

item1.ID = 5, item1.otherID = null
item2.ID = 6, item2.otherID = 5
item3.ID = 7, item3.otherID = null
Run Code Online (Sandbox Code Playgroud)

所以应该从列表中删除item1,因为它的ID存在于item2的otherID字段中

谁知道我会怎么写这个?

c# list

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

show().parent().show() - 这里发生了什么?

我不明白当你做一个像这样的.show()链时会发生什么.我也没有写这段代码或者想知道如何弄清楚这里发生了什么.因此这个问题.

// Remove favorite category
        $(".FavoriteRemove").click(function() {
            var cat = $(this).parents(".Category");     //the parent of the clicked item is the category/bundle
            var catid = $(this).attr("catid");          //the id tag on the clicked item is the BundleID
            $.post($(this).attr("href"), function() {   //the href tag is the post URL for adding a favorite
                cat.remove();                           //here we remove the category/bundle

//*** WHAT IS THIS DOING? v
            $(".Category[catid=" + catid + "]").show().parent().show();
//*** NO THAT UP THERE ^
            if ($(".FavoriteCategories div").length == 0)
                $(".FavoriteCategories").hide();
            //bindCategories();
        });
        return …
Run Code Online (Sandbox Code Playgroud)

jquery

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

我如何打开Orchard项目?

在VS 2010中加载它会引发许多错误,尽管它最终会(虽然是部分加载).

此外,Windows根本无法识别.PROJ文件,我在/ src文件夹中打开了.SLN文件,但在VS web express 2010中加载时出现了大量错误.这是问题吗?我需要完整版VS 2010吗?

asp.net asp.net-mvc visual-studio orchardcms

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

任何人都可以帮我理解所有这些Java版本吗?

我正在学习Java编程课程,所需的书是Java 5 SCJP考试310-055.我查了一下,我认为SE 5不再支持了.这不好吗?教练说,如果我通过Java认证并出示证明,我可以跳过课程并获得即时A,但如果它已经过时,我不知道我怎么能这样做?

我也对Java处理不同版本的方式感到困惑.Java 2到底意味着什么?Java 5实际上是Java 2版本5吗?SE 5的含义是什么?与SE 6有何不同?我也看到EE,SE和EE有什么区别?现在最新的Java版本是什么?JDK只是表示SDK for Java吗?我感到很困惑.

有人需要打耳光吗?

编辑:刚刚发现还有一个Java ME?d:

java

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

如果Controller.OnAuthorization()返回void,那么我该如何拒绝访问?

我原以为它会回归'真'或'假'......

我已经在我的控制器中覆盖了OnAuthorization,并且基于丢失或无效的HTTP Header值我想要返回403禁止,但我似乎无法弄清楚如何从OnAuthorization返回任何内容,以便它实际上将停止Controller的其余部分从跑步.

我该怎么办?

我下面的第一次尝试是一个巨大的失败,我认为Deny()正在运行,但没有任何反应......

public class AuthController : Controller
    {
        protected override void OnAuthorization(AuthorizationContext filterContext)
        {
            if (string.IsNullOrEmpty(filterContext.HttpContext.Request.Headers["Authorization"]))
                Deny();

            string authString = filterContext.HttpContext.Request.Headers["Authorization"];

            base.OnAuthorization(filterContext);
        }

        private ActionResult Deny()
        {
            HttpContext.Response.StatusCode = 403;

            return Content("Access Denied", "text/plain");
        }
    }
Run Code Online (Sandbox Code Playgroud)

UPDATE看起来像这样做了,为什么这可能是一个糟糕的方法?

    if (string.IsNullOrEmpty(filterContext.HttpContext.Request.Headers["Authorization"]))
    {
        filterContext.Result = Content("Access Denied", "text/plain");
        filterContext.HttpContext.Response.StatusCode = 403;

        base.OnAuthorization(filterContext);
    }
Run Code Online (Sandbox Code Playgroud)

再次更新好了所以现在它根本不工作......我放入一个断点,看着它进入if if语句,然后进入base.OnAuthorization(...)调用,然后再次向后退一步......如果它没有执行,它为什么会进入if语句?如果它正在执行为什么会调用base.OnAuthorization(...)不能尽早结束事情?

overriding asp.net-mvc-3 onauthorization

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