本文将带您了解关于win32API和.NET框架之间的select的新内容,同时我们还将为您解释.netcoreapi框架的相关知识,另外,我们还将为您提供关于.net与Java各个框架之间的对应关系
本文将带您了解关于win32 API和.NET框架之间的select的新内容,同时我们还将为您解释.net core api框架的相关知识,另外,我们还将为您提供关于.net与Java 各个框架之间的对应关系、android-.net框架之外的Servicestack客户端,实现?、asp.net – Visual Studio中Web API和Azure API APP之间的区别、asp.net-web-api – 在Azure Service Fabric中,无状态Web API和ASP.NET Core Web API之间的差异是什么?的实用信息。
本文目录一览:- win32 API和.NET框架之间的select(.net core api框架)
- .net与Java 各个框架之间的对应关系
- android-.net框架之外的Servicestack客户端,实现?
- asp.net – Visual Studio中Web API和Azure API APP之间的区别
- asp.net-web-api – 在Azure Service Fabric中,无状态Web API和ASP.NET Core Web API之间的差异是什么?
win32 API和.NET框架之间的select(.net core api框架)
我必须开发一个Windows应用程序,通过识别手势,通过networking摄像头控制鼠标。 我将使用vc ++ 2008进行开发。 但是我很困惑是否要使用.NET框架或核心的win32 APIs。 性能对于我的应用程序非常重要。 按照Ivor Horton的书“Beginning Visual C ++ 2008”,使用.NET框架有一个小的性能损失。 我想知道惩罚依赖的所有因素,为我的应用程序使用.NET框架将是可行的。
如何在Windows任务栏中创build一个文本框?
无法使用Windows 7或Windows Server 2008(64位)从COM +目录导出32位ServicedComponent
vb 2008 WriteProcessMemory()返回0
.netdebugging打印输出中的“无符号加载”是什么意思?
Windows 7本机查找.NET ListView
如果你熟悉Win32 API,那么去Win32 API。 这是你的情况的自然选择,因为你的大部分源代码将视频捕捉,图像处理,算法,并在Windows中的鼠标接口。 当您对性能感兴趣时,应尽量避免使用像.NET这样的厚层硬件。
我相信.NET是用于复杂的业务应用程序,而不是实时应用程序或设备驱动程序。
除非你是一个非常有经验的C ++程序员,否则C#是一种更高效的语言(作为拥有超过15年C ++经验和2年C#的人员)。
.Net库提供了比标准C ++库更易于使用的丰富的高质量功能。
所以,我会去使用.Net。
我还建议使用C ++ / CLI直接调用复杂的本地库,如果你必须整合它们,而不是P / Invoke。 这对于奇数调用是有好处的,但不能让您轻松访问数据结构或混合本机代码和托管代码。
.NET非常适合图形用户界面,也适用于非性能密集型领域的一般编程。 如果你需要做的不仅仅是一个简单的GUI,我会建议至少用.NET语言编写这个部分。
在你所描述的程序中,识别手势将是唯一的计算密集型部分。 控制鼠标的实际过程是微不足道的。 所以只要手势识别部分能够满足您的需求,程序的其他部分可能就不会成问题了。
第一步,你应该研究什么库是做手势识别或类似的图像处理。 (我希望你不打算从零开始编写这个部分)。如果你发现任何基于.NET的库声称性能足够满足你的需求,那么你可以试试看。 否则,你可能会得到一个基于C或C ++或类似的库。 无论哪种方式,有可能将这样的事情与基于.NET的程序集成在一起。
我认为你应该限制用于GUI构建的.NET使用。最后的作品尝试在Win32中完成。 关于对象识别的剩余问题,有称为OPENCV(开源计算机视觉库)的好库。 这个库包含了你在项目中需要的所有可能的方法。 还有英特尔的硬件专用库IPP,这可以提升Opencv的性能。
一个快速的方法来说:本地API和.Net之间的性能差异可以通过购买更昂贵的处理器来弥补。 你当然会花费1美元到100美元之间,10美元是一个合理的估计。 因此,如果您期望超过一百万用户,请选择本机API。 如果您希望在2-3个演示电脑上使用它,那真的不重要。
.net与Java 各个框架之间的对应关系
本人主要学的是Java方向,发现一篇地方说到.net与Java 各个框架之间的对应关系,顺便转述一下。
语言: C# /Java
开发环境: Visual Studio 2008 Team Suite /Eclipse Web
框架: ASP.NET MVC /Struts
数据访问层框架: LINQ to SQL /Hibernate
android-.net框架之外的Servicestack客户端,实现?
我计划使用.NET之外的ServiceStack提供的REST服务.我打算为Java和obj-c编写客户端.这应该很容易,因为它是REST服务,但是在文档中似乎暗示了其他方面:
But ServiceStack includes two clients which are optimized for ServiceStack in aspects like exception handling etc.
我将如何使用Android实施ServiceStack客户端?只需遵循正常的REST消耗程序?我应该担心任何异常处理问题吗?
另外,身份验证是否会成为问题(我将使用BasicAuthentication)?
解决方法:
ServiceStack Web服务提供了纯HTTP / REST API,这些API实际上只是在线上的序列化POCO DTO.您可以控制整个HTTP输出,因为ServiceStack不会在序列化的有效负载周围添加任何其他杂项.
期待纯序列化DTO
自以为是的性质来自于ServiceClients,它们假定服务只是返回纯序列化的DTO(即没有附加的残差),它只是将原样反序列化为指定的响应类型. ServiceClient的独特之处在于,它们可以为您提供强大的端到端API,而无需任何代码生成,因为您可以重复使用定义Web服务所用的POCO DTO.
退回到预定义的路线
默认情况下,像Send<TResponse>(dto)这样的API中不包含relativeOrAbsoluteUri的API将默认使用ServiceStack自动提供的pre-defined routes,允许您调用Web服务而无需为其指定任何自定义路由.当然,您可以选择使用自定义路由,而不必遵循IRestClient和IRestClientAsync API,这些API允许您指定要使用的URL.
自动错误处理
C#ServiceStack ServiceClient经过优化,按照惯例,ServiceStack Web服务将在您的Response DTO的ResponseStatus属性中序列化结构化错误响应(仅当它具有一个时).客户端所做的所有服务只是将错误响应反序列化为类型化的C#WebServiceException,这使您的C#客户端可以对结构化错误进行强类型访问,如Validation wikipage中所述.
基本上,ResponseStatus属性只是一个约定(不是一些抗REST的魔术),您仍然可以控制返回的HttpStatus代码和描述.这只是所有REST客户端都可以平等访问的另一个纯DTO属性-这是一个simple JavaScript ss-validation.js例程,该例程提取responseStatus元数据并将错误注入到Twitter Bootstrap HTML表单中.
asp.net – Visual Studio中Web API和Azure API APP之间的区别
> Web API
> Azure API APP
我可以创建一个Web API APP并将其托管在Azure API APP中吗?那么它们存在的主要原因是什么?
解决方法
Azure API是一个精简的API模板,支持OpenAPI.
ASP.NET Web API是一个完整的ASP.NET MVC应用程序,主要用于支持API.
差异#1:Web API模板中的身份验证支持
ASP.NET Web API
支持身份验证选择(无,个人用户,工作或学校,Windows).
ASP.NET Azure API应用程序
期望客户提供代币(持票人代币或API代币).使用Azure门户配置用户(不是API令牌)的身份验证和授权.使用Azure API Management(或其他服务)来管理API令牌.
差异#2:Web API模板中的MVC支持
ASP.NET Web API
自动包含MVC以显示帮助页面.这些与OpenAPI(Swagger)自生成文档不同.
ASP.NET Azure API应用程序
不会自动包含MVC或帮助页面
差异#3:支持Web API中的UI文件
ASP.NET Web API
包括区域,内容,HomeController,字体,脚本和视图
ASP.NET Azure API应用程序
差异#4:Web API模板中的更多启动配置
ASP.NET Web API
public class WebApiApplication : System.Web.HttpApplication { protected void Application_Start() { AreaRegistration.RegisterallAreas(); GlobalConfiguration.Configure(WebApiConfig.Register); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); } }
ASP.NET Azure API应用程序
public class WebApiApplication : System.Web.HttpApplication { protected void Application_Start() { GlobalConfiguration.Configure(WebApiConfig.Register); } }
差异#5:Azure API模板中的OpenAPI(Swagger)支持
ASP.NET Web API
public class ValuesController : ApiController { // GET api/values public IEnumerable<string> Get() { return new string[] { "value1","value2" }; } // GET api/values/5 public string Get(int id) { return "value"; } // POST api/values public void Post([FromBody]string value) { } // PUT api/values/5 public void Put(int id,[FromBody]string value) { } // DELETE api/values/5 public void Delete(int id) { } }
ASP.NET Azure API应用程序
默认情况下启用OpenAPI(Swagger). OpenAPI JSON文档位于/ swagger / docs / v1
public class ValuesController : ApiController { // GET api/values [SwaggerOperation("GetAll")] public IEnumerable<string> Get() { return new string[] { "value1","value2" }; } // GET api/values/5 [SwaggerOperation("GetById")] [SwaggerResponse(HttpStatusCode.OK)] [SwaggerResponse(HttpStatusCode.NotFound)] public string Get(int id) { return "value"; } // POST api/values [SwaggerOperation("Create")] [SwaggerResponse(HttpStatusCode.Created)] public void Post([FromBody]string value) { } // PUT api/values/5 [SwaggerOperation("Update")] [SwaggerResponse(HttpStatusCode.OK)] [SwaggerResponse(HttpStatusCode.NotFound)] public void Put(int id,[FromBody]string value) { } // DELETE api/values/5 [SwaggerOperation("Delete")] [SwaggerResponse(HttpStatusCode.OK)] [SwaggerResponse(HttpStatusCode.NotFound)] public void Delete(int id) { } }
asp.net-web-api – 在Azure Service Fabric中,无状态Web API和ASP.NET Core Web API之间的差异是什么?
似乎它们是多余的,显然核心版本是实验性的,可能不适用于许多核心库,如Odata和Entity Framework
解决方法
更多细节:
无状态Web API模板:
>基于OWIN的“经典”ASP.NET Web API 2.不支持MVC(没有Razor服务器端渲染).
>仅限完整的.NET Framework.
>在Visual Studio 2015中使用“经典”.NET项目类型(.csproj).
>使用Katana作为Web主机,它是在System.Net.HttpListener上构建的,它本身使用Windows HTTP Server API(http.sys).
ASP.NET核心模板:
>新的ASP.NET Core,它结合了MVC和Web API,并提供了Razor服务器端呈现和ASP.NET的大量新功能.
>完整的.NET Framework或.NET Core,但目前Service Fabric中仅支持完整的.NET Framework.
>在Visual Studio 2015中使用新的.NET项目类型(.xproj).在VS 2015中为此项目类型的工具被视为“预览”并将保持不变.工具仅在较新的Visual Studio 2017中被视为“生产”(它已被更改回.csproj).这就是我们目前在VS 2015中同时拥有两个项目模板的原因.
>使用WebListener or Kestrel作为Web主机.
> WebListener也基于http.sys,完全支持.> Kestrel基于完全不同的跨平台库(libuv),在当前状态下,我们不建议将其放在面向Internet的生产应用程序中,而不使用反向代理来提供DoS保护.
我们今天的关于win32 API和.NET框架之间的select和.net core api框架的分享已经告一段落,感谢您的关注,如果您想了解更多关于.net与Java 各个框架之间的对应关系、android-.net框架之外的Servicestack客户端,实现?、asp.net – Visual Studio中Web API和Azure API APP之间的区别、asp.net-web-api – 在Azure Service Fabric中,无状态Web API和ASP.NET Core Web API之间的差异是什么?的相关信息,请在本站查询。
本文标签: