我想动态获取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.
如何设计一个支持某个功能的数据库,该功能允许应用程序用户在某个时间点创建其数据的快照,有点像版本控制.
它将使用户能够返回并查看他们过去的数据.
假设"快照"的数据很复杂并且包括多个表的连接.
我正在寻找一种方法,让每个应用程序用户能够快照他们的数据并返回它.整个数据库快照不是我想要的.
编辑:谢谢你的回答.6NF的答案很有说服力,因为快照数据由于其简单性而去标准化的建议.
澄清:这不是数据仓库问题,也不是关于数据库备份和恢复的问题; 它是关于如何构建一个模式,允许我们在某个时间点捕获一组特定的相关数据的状态.应用程序用户在认为合适时生成快照.用户不会对整个数据库进行快照,只会对他们感兴趣的数据对象进行快照.
我正在使用Windows DPAPI为我加密一些敏感数据.密码存储在注册表中.这一切都运行良好,但我想知道是否有人可以澄清我对(熵)字节的理解,这些字节是(可选地)提供给.NET中的ProtectedData.Protect().
'entropy'字节数组看起来类似于与其他加密方案一起使用的初始化向量或盐,但我看不到MSDN中熵字节的良好描述.我见过的代码示例只是熵字节中的硬编码!
提供给ProtectedData.Protect()和ProtectedData.Unprotect的熵字节是否类似于IV或salt?因此,熵字节可以安全地存储在密码旁边,还是会危及安全性?
我正在为Web应用程序设计REST API.我想清楚地对API进行版本化,以便将来可以更改界面而不会破坏现有服务.因此,在我的v1.0 API中,我希望将其清楚地标识为v1.0 API,让我可以自由地发布未来的v1.1版本并进行重大更改.
我的问题是,URI的路径组件中的一段时间是不好的做法?
例如.有没有什么好的理由不使用http://example.com/myapi/v1.0/services作为我服务的URI?
我正在寻找一个.NET的对象数据库,它是开源的,可以免费用于商业用途.我需要一些可用作程序集和/或源代码的东西嵌入到项目中,即在自己的进程中不是一个独立的数据库.
我知道db4o,它将是完美的,除了商业许可证的价格.
ACID交易支持是可取的,但我真的只想知道那里有哪些选项.
从未编写过生产质量的Silverlight应用程序,我希望为Silverlight 3.0找到一个高质量的开源参考应用程序(Silverlight 4.0并不像我有VS2008那样好)来帮助学习Silverlight.
理想情况下,我希望看到:
我意识到Codeplex上有很多开源项目,但很难在那里找到任何经典的业务应用程序.
假设我们有一个编辑视图来编辑我们的数据,我们希望让用户知道他们的编辑结果,即.确认它确实在模型上成功保存.
一种解决方案是在"编辑控制器"操作方法中为ViewData分配消息,然后使用"视图"将消息显示回用户.
例如,在编辑控制器操作方法中:
ViewData["EditResult"] = "All is well in the world.";
Run Code Online (Sandbox Code Playgroud)
......以及视图中的某个地方:
<%= ViewData["EditResult"] %>
Run Code Online (Sandbox Code Playgroud)
这很简单,但这是从控制器向View提供反馈的最佳方式吗?有什么其他的选择,因为我似乎在将控制器中的表示类型的东西放在边缘.
我正在尝试为一个具有昂贵的初始化过程的对象编写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 我在这里缺少什么?
一个有经验的.NET和SQL开发人员应该如何成为一个项目的BizTalk专家,从1个月开始?我应该如何利用有限的时间在BizTalk中获得一些实用的技能和知识,这样我就可以"说说话"了?
我是自雇人士,不愿意花300多美元.我有Wrox的"Professional BizTalk Server 2006"这本书,但还没有发现它是一个特别好的学习资源(非常干燥,需要更多现实世界的例子).
为了保护Web应用程序免受查询字符串操作,我正在考虑向每个url添加一个查询字符串参数,该参数存储所有其他查询字符串参数和值的SHA1哈希值,然后根据每个请求的哈希值进行验证.
此方法是否提供强大的保护,防止用户操纵查询字符串值?这样做还有其他任何缺点/副作用吗?
我并不特别关注这个私人网络应用程序的"丑陋"网址.由于对于相同的查询字符串参数,哈希值始终相同,因此Url仍然是"可收藏"的.
这是一个ASP.NET应用程序.
.net ×2
asp.net ×2
security ×2
asp.net-mvc ×1
biztalk ×1
database ×1
hash ×1
javascript ×1
object ×1
query-string ×1
rest ×1
silverlight ×1
uri ×1