小编Pur*_*ome的帖子

ASP.NET网站"发布"与Web部署项目

如果我决定使用我的ASP.NET网站的"发布"选项,而不是Web部署项目,我可以自定义msbuild吗?或者如果我想在编译/部署期间做自定义的msbuild工作,我是否需要坚持使用WDP?

asp.net visual-studio

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

使用ASP.NET MVC中的DotNetOpenId记住我

在ASP.NET MVC中使用DotNetOpenAuth 3并实现RememberMe工具......

我发现即使我在FormsAuthentication.RedirectFromLoginPage和FormsAuthentication.SetAuthCookie中将createPersistentCookie设置为true,一旦ASP.NET会话超时,用户也不会被记住.

如果我检查cookie我发现它被标记为持久性并且将来确实有一个到期日期,我假设因为我将web.config FORMS超时设置为几年.无论如何,如果用户关闭浏览器并重新打开它,他们就会被正确记住 - 只要ASP会话没有超时.

Scott Hanselmann的一篇较老的帖子让我想知道是不是因为FormsAuthentication试图更新身份验证票证,而且可能在OpenId模型中无效但我在web.config中设置了FORMS SlidingExpiration ="false",无论如何我认为强制持久cookie将使这些东西无关紧要.

我也想知道为什么DotNetOpenId MVC示例不包含RememberMe复选框 - 可能有一些棘手的问题吗?

另一方面,在StackOverflow,我看到我会在会话中自动记住.想知道他们是否使用了除DotNetOpenId以外的东西来进行OpenId认证.

还有其他人在ASP.NET MVC中使用DotNetOpenId成功完成了RememberMe吗?任何招数?

[更新]

谢谢你试图帮忙,安德鲁.原来这不是关于DotNetOpenId.

在阅读本文之后,我收集到的是,我的托管服务提供商可能会定期回收应用程序池,这导致使用新机器密钥完成身份验证票证加密.

根据前面的链接文章,我在我的Web.Config中的System.Web下添加了以下内容,它解决了这个问题:

<machineKey
    validationKey="(generated a new key to place here)"     
    decryptionKey="(generated a new key to place here)"
    validation="SHA1"
    decryption="AES" />
Run Code Online (Sandbox Code Playgroud)

openid asp.net-mvc dotnetopenauth

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

我可以在Sql Server中使用自定义枚举数据类型吗?

在我的sql代码中,我传递了一堆神奇的数字: -

AnimalType TINYINT

/*
  AnimalType can be one of the following :-
  1. Cat
  2. Dog
  3. Bird
 ....
*/
Run Code Online (Sandbox Code Playgroud)

无论如何我可以使这个自定义类型/枚举.例如.

AnimalType ANIMAL
Run Code Online (Sandbox Code Playgroud)

并且它被限制为包含1 < - >之间的数字(例如,在我上面的例子中为3).

或约束到字符串.例如.AnimalType ='猫'等等?

干杯!

编辑

我知道LookUp表是什么.这不是用于查找表,而是用于传递给许多存储过程的一些数据.我希望传入一个枚举或至少一些有约束的数字(例如数字1 < - > 5)等,而不是传入幻数.

sql-server

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

在数据库中聚类Lat/Longs

我试图看看是否有人知道如何使用数据库聚集一些Lat/Long结果,以减少通过线路发送到应用程序的结果数量.

有许多关于如何集群的资源,无论是在客户端还是在服务器(应用程序)端...但不在数据库端:(

这是 SO成员提出的类似问题.解决方案基于服务器端(即后面的C#代码).

有没有人有解决这个问题的运气或经验,但是在数据库中?是否有任何数据库大师在追求hawt和性感数据库挑战?

请帮忙 :)

编辑1:澄清 - 通过聚类,我希望将x一个点的数量分组为一个区域.所以,如果我说集群中的所有东西都在1英里/ 1平方公里,那么'square'中的所有结果都是GROUP'D到一个结果中(比如......正方形的中间).

编辑2:我正在使用MS Sql 2008,但我很乐意听到其他数据库中是否有其他解决方案.

database geography cluster-analysis latitude-longitude

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

我怎样才能加快这个索引视图?

我有一个简单的索引视图.当我查询它时,它很慢.首先,我向您展示架构和索引.然后是简单的查询.最后一个查询计划screnie.

更新:本文底部的解决方案证明.

架构

这就是它的样子: -

CREATE view [dbo].[PostsCleanSubjectView] with SCHEMABINDING AS
    SELECT PostId, PostTypeId, 
        [dbo].[ToUriCleanText]([Subject]) AS CleanedSubject
    FROM [dbo].[Posts]
Run Code Online (Sandbox Code Playgroud)

我的udf ToUriCleanText只是用空字符替换各种字符.例如.用''替换所有'#'字符.

然后我在这上面添加了两个索引: -

索引

主键指数(即聚集指数)

CREATE UNIQUE CLUSTERED INDEX [PK_PostCleanSubjectView] ON 
    [dbo].[PostsCleanSubjectView] 
(
    [PostId] ASC
)
WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, 
      SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF,
      ONLINE = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
GO
Run Code Online (Sandbox Code Playgroud)

和非聚集索引

CREATE NONCLUSTERED INDEX [IX_PostCleanSubjectView_PostTypeId_Subject] ON 
    [dbo].[PostsCleanSubjectView] 
(
    [CleanedSubject] ASC,
    [PostTypeId] ASC
)
WITH (PAD_INDEX …
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server indexed-view sql-server-2008

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

如何使用cURL(或任何命令行工具)通过OAuth身份验证对Twitter发布HTTP帖子?

我希望使用命令行应用程序(如cURL)对我的测试Twitter帐户进行一些测试.我还希望通过OAuth身份验证来执行此操作.

我怎么能这样做?假设我已经在Twitter上创建了一个应用程序,并收到了我的密钥和内容.

(另外,请确保指定要使用的密钥,以及命令行中的位置等).

最后,我受到(未受过教育的)假设,即单个命令行可以实现这一点.

twitter command-line curl oauth

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

如何将DBQuery <T>转换为ObjectQuery <T>?

我有一个DBQuery<T>转换为IQueryable<T>(这一点工作正常).但后来我试图将IQueryable转换为ObjectQuery ..它失败了: -

public void Foo(this IQueryable<T> source)
{
    // ... snip ...

    ObjectQuery<T> objectQuery = source as ObjectQuery<T>;
    if (objectQuery != null)
    {
        // ... do stuff ...
    }
}
Run Code Online (Sandbox Code Playgroud)

在我转换到Entity-Framework 4 CTP5 Magic Unicorn等等之前,这曾经工作过.现在,它不起作用 - 即.objectQuerynull.

现在,DBQuery<T> inherits IQueryable<T>..所以我认为这应该工作.

如果我将代码更改为..

var x = (ObjectQuery<T>) source;
Run Code Online (Sandbox Code Playgroud)

然后抛出以下异常: -

System.InvalidCastException:无法转换类型为'System.Data.Entity.Infrastructure.DbQuery 1[Tests.Models.Order]' to type 'System.Data.Objects.ObjectQuery1 [Tests.Models.Order]'的对象.

有什么建议?

.net entity-framework objectquery entity-framework-4

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

如何限制对Elmah的远程访问?

在我们的开发Web服务器上安装Elmah ..我们可以限制远程访问它的人吗?即使我们硬编码用户名/密码(哈希?)还是仅通过IP?

.net asp.net elmah

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

更新资源时,更新成功时返回什么HTTP状态代码?

所以我有一个网站接受HTTP-PUT特定资源,例如./contact这将允许消费者更新联系人,假设他们已通过验证.

所以我更新了记录,一切都很好..现在我需要向消费者返回一些内容.

什么是我应该返回的HTTP状态代码?

如果这是一个HTTP-POST(即创建一个-new-资源),那么我将返回一个201 Created并添加一个Locationheader属性.

但是......我找不到任何关于如何为更新做的线索.

干杯:)

rest http-post http-status-codes http-put

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

我如何单元测试这种(正确)抛出异常的异步方法?

我在接口中有以下方法..

Task<SearchResult<T>> SearchAsync(TU searchOptions);
Run Code Online (Sandbox Code Playgroud)

效果很好.

现在我正在尝试进行单元测试,以便在出现问题时进行测试 - 并且代码会抛出异常.

在这种情况下,我已经设置了我的方法来抛出一个HttpRequestException.我的单元测试未能说我扔了那个例外..

var result = Should.Throw<HttpRequestException>
    (async () => await service.SearchAsync(searchOptions));
Run Code Online (Sandbox Code Playgroud)

来自单元测试的错误消息是


应该.ChuckedAWobbly var result =应该
抛出
System.Net.Http.HttpRequestException
但是没有

所以断言框架说:你已经预料到一个例外,但没有一个被抛出.

当我逐步执行代码时,异常被100%抛出.

有人能看到我的单元测试代码出错了吗?

.net c# unit-testing async-await

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