我创建了一个带有SQL Server数据库的简单项目,该数据库包含许多表和大量索引,但没有什么真正复杂的.没有触发器,没有存储过程,没有额外的"数据库魔术".代码是用C#编写的,使用实体模型和动态数据站点来快速设置基础知识,因此一些键入的猴子可以投入工作并执行一些基本数据输入,同时我将修改项目以使其更加成熟.
在SQL Server 2005上测试过,一切正常.所以我通过Visual Studio进行了设置,并将其发送给键入Monkeys及其管理员.他们所要做的就是:1)创建一个新的数据库.2)执行数据库的Create脚本.3)安装我给他们的设置.4)修改连接字符串,它恰好放在特殊的配置文件中以方便使用.5)使用Web界面并在出现问题时通知我.
出了点问题.完整的错误:第1行:''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
我的代码中没有使用'row_number'.我只是使用Linq进行查询.此外,由于实体模型,我甚至不必担心做任何SQL的东西.(尽管我很擅长.)
我的第一个猜测是他们使用了错误的连接字符串.他们可能正在SQL Server上安装这个应用程序(它应该仍然可以工作),但它们并没有完全改变连接字符串,现在我的项目认为它正在使用SQL Server 2005.(或者其他什么.)我是对的还是由于某些原因引起的其他讨厌的bug?
完整错误:
[SqlException(0x80131904):第1行:'('.''row_number'附近的语法不正确不是可识别的函数名.关键字'AS'附近的语法不正确.]
System.Data.SqlClient.SqlConnection.OnError(SqlException exception,Boolean breakConnection)+1950890 System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception,Boolean breakConnection)+4846875 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)+194
System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler,SqlDataReader dataStream,BulkCopySimpleResultSet bulkCopyHandler,TdsParserStateObject stateObj)+2392
System.Data.SqlClient.SqlDataReader.ConsumeMetaData()+33 System.Data.SqlClient.SqlDataReader.get_MetaData()+83 System.Data.SqlClient.SqlCommand.FinishExecuteReader( SqlDataReader ds,RunBehavior runBehavior,String resetOptionsString)+297
System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior,RunBehavior runBehavior,Boolean returnStream,Boolean async)+954 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior,RunBehavior runBehavior,Boolean returnStream,String method,DbAsyncResult result)+162
System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior,RunBehavior runBehavior, Boolean returnStream,String method)+32 System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior,String method)+141
System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior)+12
System.Data.Common.DbCommand.ExecuteReader (CommandBehavior行为)+10
System.Data.EntityClient.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand entityCommand,CommandBehavior behavior)+387[EntityCommandExecutionException:执行命令定义时发生错误.有关详细信息,请参阅内部异常.]
System.Data.EntityClient.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand entityCommand,CommandBehavior behavior)+423
System.Data.Objects.Internal.ObjectQueryExecutionPlan.Execute(ObjectContext context,ObjectParameterCollection parameterValues)+743
System.Data. Objects.ObjectQuery1.GetResults(Nullable1 forMergeOption)+157
System.Data.Objects.ObjectQuery`1.GetIListSourceListInternal()+ 13 System.Data.Objects.ObjectQuery.System.ComponentModel.IListSource.GetList()+ System.Web.UI.WebControls. …
基本上,我最近在Visual Studio上做了很多工作,并且为了获得一个我可以自己托管的简单版本控制系统,我只是想到:编写一些支持Visual的VCS实际上有多难.工作室界面?(并且只有一个人可以使用它,无论如何......)(并且它将作为Web服务或其他任何东西托管在我自己的网站上.)
不,我不是初学者.我已经编程超过30年了所以是的,我知道这将是困难的,即使对于一个资深的开发人员.我喜欢挑战.是的,我可以使用众多现有解决方案中的一种,但有时重新发明轮子会很有趣.对我的技能来说,这比我真正需要的东西更具挑战性.只是练习可能会变得非常有用.
因此,首先,我需要一个关于Visual Studio 2008如何与版本控制系统通信的良好定义.编写代码很容易.知道我们需要做什么至少是我需要知道的.
那么,任何有用的提示,技巧和链接?
用户正在将照片上传到我们的 php 构建系统。由于内容不相关,我们将其中一些标记为禁止。I\xc2\xb4m 正在搜索“自动比较”算法的优化,该算法会跳过这些标记为禁止的照片。每次上传都需要与许多 vorbinden 进行比较。
\n\n可能的解决方案:
\n\n1/ 存储禁止的文件并比较整个内容 - 效果很好,但速度很慢。
\n\n2/存储图像文件校验和并比较校验和——这是提高速度的想法。
\n\n3/任何足够快并且可以比较照片之间相似性的智能算法。但我对 PHP 中的这些没有任何想法。
\n\n最好的解决方案是什么?
\n我创建了一个Range类型:
public class Range<T> where T : IComparable<T>
{
public Range(T min, T max) : this(min, max, false) { }
public Range(T min, T max, bool upperbound)
{
}
public bool Upperbound { get; private set; }
public T Min { get; private set; }
public T Max { get; private set; }
public bool Between(T Value)
{
return Upperbound ? (Min.CompareTo(Value) < 0) && (Value.CompareTo(Max) <= 0) : (Min.CompareTo(Value) <= 0) && (Value.CompareTo(Max) < 0);
}
}
Run Code Online (Sandbox Code Playgroud)
我想在字典中使用它作为键,允许我根据范围进行搜索.是的,范围可以重叠或者可能存在间隙,这是设计的一部分.它看起来很简单,但我希望搜索更容易一些!我想比较一个范围与它的类型T的值,所以我可以使用:myRange == …
情况很简单.我创建了一个复杂的Delphi应用程序,它使用了几种不同的技术.主要应用程序是WIN32模块,但是一些部件是作为.NET程序集开发的.它还与Web服务通信或从特定网站检索数据.它将大部分用户数据保存在MS Access数据库中,并在注册表中包含一些其他设置.在内存中,所有数据都在XML文档中转换,有时在系统崩溃时将其作为备份保存到磁盘.(从而允许用户恢复他的数据.)XML文件中还有一些数据用于只读目的.该应用程序还执行其他应用程序,并希望完成.总而言之,这是一个非常复杂的应用程序.
尽管少数用户确实在Citrix服务器上使用此应用程序,但我们不支持使用此应用程序的Citrix.(基本上,它允许这些用户更具移动性.)但即使我们不断告诉他们我们不支持Citrix,这些客户也会试图帮助他们解决他们往往会遇到的一些偶然问题.
主要问题似乎是偶尔出现在Citrix系统上的随机异常.从不在同一个位置,通常它看起来与一些记忆问题有关.我们已经发布了很多错误报告,并且存在太多不同的错误.所以我知道解决所有那些复杂的问题.
所以我想更加通用,只想了解Delphi(2007)在Citrix系统上运行时可能遇到的问题.特别是当此应用程序不是以任何方式设计为Citrix感知时.我们不想正式支持Citrix,但如果我们可以帮助这些客户会很好.并不是说他们会付给我们更多,但仍然......
那么有谁知道Delphi应用程序可以在Citrix系统上遇到的一些常见问题?有没有人知道Citrix的常见问题?是否存在一些针对Citrix问题的Silver Bullet或Golden Hammer解决方案?
在过去,我们的开发团队决定创建一个新的企业应用程序,并决定使用"Linq to SQL",因为实体框架"糟透了".(不是我的意见!)他们使用Visual Studio 2008,EF不是默认设置的一部分,但需要额外的插件.因此决定使用Linq to SQL来访问数据库.因此,我们现在围绕一个包含DBML和L2SQL实体的datamodule类库有多个项目......
现在很明显,这些开发人员错了.一些人转移到其他公司,一些新的公司被包括在这个项目中.(包括我.)我们想要使用实体框架.最好是带有.NET 4.0的版本4 ......这将使我们对数据更加灵活,我们希望在几个实体中包含一些继承,使代码更易于阅读和更好用.
那么,如何从"Linq to SQL"迁移到Entity Framework 4而无需重写我们的大部分代码?
因此,我刚刚创建了一个“Echo”服务,这样我就可以更深入地了解 Web 应用程序和 Web API。它有很多路由,在每种情况下它都只会返回一个 JSON 结果,其中包含有关请求和响应的信息。
所以我有一个方法“header”,它将向响应添加一个标头。以及一个将发回 cookie 的方法“cookie”。以及其他一些具有实验路线的方法。
现在我想通过使用身份验证内容和 JWT 来重点关注身份验证,这样我就可以更深入地了解这些东西的作用。因为仅仅通过复制/粘贴其他项目中的内容来添加 AddAuthentication/AddJwtBearer 并不是我想要的。我也不想要一些数据库后端,但下一步我可能想通过 Google、Facebook 和 Twitter 进行 OAuth 身份验证。但现在,我有一个变量accounts来保存一些有效的登录帐户,现在我需要使用它来进行登录并使用此身份验证框架。
没有数据库,没有Azure,没有复杂的东西。只是简单、最少的 API 代码。那是因为这个项目的目的是了解该技术并对其进行实验,我不想专注于其他任何事情。仅认证。(就像我也用它来关注路由的工作原理一样。)
所以我想要的是几个步骤:
那么,要开始这一切,我该如何执行第 1 步?
var builder = WebApplication.CreateBuilder(args);
Dictionary<string, string> accounts = new Dictionary<string, string>() { { "wim", "123456" }, { "test", "abc123" } };
builder.Services.AddAuthentication()
.AddCookie(options =>
{
options.LoginPath = "/Account/Unauthorized/";
options.AccessDeniedPath = "/Account/Forbidden/";
})
.AddJwtBearer(options =>
{
options.Audience = "Everyone";
options.Authority = "Wim";
});
var app …Run Code Online (Sandbox Code Playgroud) 好的,简单的情况:我正在编写一个连接到SOAP Web服务的简单控制台应用程序.我已导入SOAP服务引用,因此,我的应用程序在其app.config文件中有一个默认端点构建.
但是,Web服务可以在多个服务器上运行,并且通过我的应用程序的命令行参数传递到正确Web服务的URL.我可以阅读URL,但如何将Web服务连接到此自定义URL?
(在我看来,这应该很简单.这是我忽视的东西.)
遵循KISS原则,我突然意识到以下情况:
我不想重新发明轮子,如果有人已经这样做了我也不会感到惊讶,所以我的问题很简单:有没有人已经创建了一个可以使用RESTful的简单(桌面,而不是web)客户端应用程序基于实体框架的服务,允许用户直接读取和写入此服务的数据?
否则,我只需要自己"发明"这个.:-)
但是数据库有大量数据可以管理近50个表.在针对本地数据库进行开发时,我们可以直接访问数据库,因此我不需要此工具.部署后,Web应用程序将是访问数据的唯一方法,因此我无法使用此工具.但是我们还有一个测试阶段,数据库存储在本地域之外的另一个系统上,而这个数据库不适用于开发人员.只有管理员才能直接访问此数据库,从而使测试更加复杂.
但是,通过RESTful服务,我仍然可以直接访问数据.因此,当某些测试出错时,我可以通过此连接修复数据,或者只是为我本地系统上的测试创建数据副本.还有很多其他功能,甚至可以直接在Excel或XMLSpy中打开表服务的URL来查看内容.但是当我想要写回东西时,我必须编写特殊代码才能做到这一点.允许我访问数据并对其进行修改的通用工具会更容易.由于它是围绕ADO.NET数据服务的通用设置,因此这也应该是合理的.
因此,我可以做到,但希望其他人已经做了类似的事情.但似乎还没有制造这样的工具......
虽然这个问题也有类似问题,但我从另一个角度对此感兴趣.我对GUI部分不感兴趣,但对数据库/域部分感兴趣.
(我的偏好是带有C#/ ASP.NET的SQL Server,但这个Q应该是语言无关的.)
在设计CMS系统时,数据需要存储在表中,业务层需要提供对此数据的访问.首先,当然是具有用户角色的用户数据库.每个用户的私人邮件邮箱会很好.允许用户使用图像设置他们自己的配置文件并且让人眼花缭乱会让它变得更加有趣,但是我们不会关注用户.
CMS系统的数据库还应该有什么?它应该如何与其他表相关?
c# ×5
checksum ×1
citrix ×1
delphi ×1
delphi-2007 ×1
dictionary ×1
entity-model ×1
image ×1
jwt ×1
linq ×1
linq-to-sql ×1
php ×1
soap ×1
wcf-rest ×1