小编sai*_*lle的帖子

如何获取站点根URL?

我想动态获取ASP.NET应用程序的绝对根URL.这需要是以下形式的应用程序的完整根URL:http(s):// hostname(:port)/

我一直在使用这种静态方法:

public static string GetSiteRootUrl()
{
    string protocol;

    if (HttpContext.Current.Request.IsSecureConnection)
        protocol = "https";
    else
        protocol = "http";

    StringBuilder uri = new StringBuilder(protocol + "://");

    string hostname = HttpContext.Current.Request.Url.Host;

    uri.Append(hostname);

    int port = HttpContext.Current.Request.Url.Port;

    if (port != 80 && port != 443)
    {
        uri.Append(":");
        uri.Append(port.ToString());
    }

    return uri.ToString();
}
Run Code Online (Sandbox Code Playgroud)

但是,如果我没有HttpContext.Current范围怎么办?我遇到过这样的情况CacheItemRemovedCallback.

asp.net

44
推荐指数
5
解决办法
9万
查看次数

数据库设计用于数据的时间点"快照"?

如何设计一个支持某个功能的数据库,该功能允许应用程序用户在某个时间点创建其数据的快照,有点像版本控制.

它将使用户能够返回并查看他们过去的数据.

假设"快照"的数据很复杂并且包括多个表的连接.

我正在寻找一种方法,让每个应用程序用户能够快照他们的数据并返回它.整个数据库快照不是我想要的.

编辑:谢谢你的回答.6NF的答案很有说服力,因为快照数据由于其简单性而去标准化的建议.

澄清:这不是数据仓库问题,也不是关于数据库备份和恢复的问题; 它是关于如何构建一个模式,允许我们在某个时间点捕获一组特定的相关数据的状态.应用程序用户在认为合适时生成快照.用户不会对整个数据库进行快照,只会对他们感兴趣的数据对象进行快照.

database-design

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

Windows DPAPI - 如何处理熵?

我正在使用Windows DPAPI为我加密一些敏感数据.密码存储在注册表中.这一切都运行良好,但我想知道是否有人可以澄清我对(熵)字节的理解,这些字节是(可选地)提供给.NET中的ProtectedData.Protect().

'entropy'字节数组看起来类似于与其他加密方案一起使用的初始化向量或盐,但我看不到MSDN中熵字节的良好描述.我见过的代码示例只是熵字节中的硬编码!

提供给ProtectedData.Protect()和ProtectedData.Unprotect的熵字节是否类似于IV或salt?因此,熵字节可以安全地存储在密码旁边,还是会危及安全性?

.net security

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

在URI路径中放置句点是不好的做法吗?

我正在为Web应用程序设计REST API.我想清楚地对API进行版本化,以便将来可以更改界面而不会破坏现有服务.因此,在我的v1.0 API中,我希望将其清楚地标识为v1.0 API,让我可以自由地发布未来的v1.1版本并进行重大更改.

我的问题是,URI的路径组件中的一段时间是不好的做法?

例如.有没有什么好的理由不使用http://example.com/myapi/v1.0/services作为我服务的URI?

rest uri

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

寻找对象数据库

我正在寻找一个.NET的对象数据库,它是开源的,可以免费用于商业用途.我需要一些可用作程序集和/或源代码的东西嵌入到项目中,即在自己的进程中不是一个独立的数据库.

我知道db4o,它将是完美的,除了商业许可证的价格.

ACID交易支持是可取的,但我真的只想知道那里有哪些选项.

.net database object

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

一个好的Silverlight 3.0参考应用程序,带源代码?

从未编写过生产质量的Silverlight应用程序,我希望为Silverlight 3.0找到一个高质量的开源参考应用程序(Silverlight 4.0并不像我有VS2008那样好)来帮助学习Silverlight.

理想情况下,我希望看到:

  • 一系列业务应用程序,在客户端 - 服务器传统中.
  • SQL Server后端
  • 没有使用像PRISM或CSLA这样的第三方库,因为我想看看核心Silverlight技术是如何工作的.

我意识到Codeplex上有很多开源项目,但很难在那里找到任何经典的业务应用程序.

silverlight

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

如何在ASP.NET MVC中向用户提供动作"成功"反馈?

假设我们有一个编辑视图来编辑我们的数据,我们希望让用户知道他们的编辑结果,即.确认它确实在模型上成功保存.

一种解决方案是在"编辑控制器"操作方法中为ViewData分配消息,然后使用"视图"将消息显示回用户.

例如,在编辑控制器操作方法中:

ViewData["EditResult"] = "All is well in the world.";
Run Code Online (Sandbox Code Playgroud)

......以及视图中的某个地方:

<%= ViewData["EditResult"] %>
Run Code Online (Sandbox Code Playgroud)

这很简单,但这是从控制器向View提供反馈的最佳方式吗?有什么其他的选择,因为我似乎在将控制器中的表示类型的东西放在边缘.

asp.net-mvc

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

Javascript:构造函数中的回调

我正在尝试为一个具有昂贵的初始化过程的对象编写OO javascript,该过程将在完成时回调函数.

问题是调用者需要在回调例程中使用同一个对象的函数,并且该对象尚不存在:

// ctor for foo object
function foo(callback) {

    // do slow initialization here..

    // callback when done
    callback();
};

foo.prototype = function() {

    return {
        // doStuff method
        doStuff: function() {
          alert('stuff done');
        }
    };        
}();

// instantiate the foo object, passing in the callback
var f = new foo(function() {

    //Uncaught TypeError: Cannot call method 'doStuff' of undefined 
    f.doStuff();

});?
Run Code Online (Sandbox Code Playgroud)

jsFiddle 我在这里缺少什么?

javascript design-patterns

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

在BizTalk上加快速度的最佳方法是什么?

一个有经验的.NET和SQL开发人员应该如何成为一个项目的BizTalk专家,从1个月开始?我应该如何利用有限的时间在BizTalk中获得一些实用的技能和知识,这样我就可以"说说话"了?

我是自雇人士,不愿意花300多美元.我有Wrox的"Professional BizTalk Server 2006"这本书,但还没有发现它是一个特别好的学习资源(非常干燥,需要更多现实世界的例子).

biztalk

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

通过添加哈希来防止查询字符串操作?

为了保护Web应用程序免受查询字符串操作,我正在考虑向每个url添加一个查询字符串参数,该参数存储所有其他查询字符串参数和值的SHA1哈希值,然后根据每个请求的哈希值进行验证.

此方法是否提供强大的保护,防止用户操纵查询字符串值?这样做还有其他任何缺点/副作用吗?

我并不特别关注这个私人网络应用程序的"丑陋"网址.由于对于相同的查询字符串参数,哈希值始终相同,因此Url仍然是"可收藏"的.

这是一个ASP.NET应用程序.

asp.net security hash query-string

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