草庐IT

c# - 可以在后台线程构建表单,然后在 UI 线程上显示

更新:总结一下我的问题归结为:我希望构建.NET窗体和控件不会创建任何窗口句柄——希望该过程被延迟到Form.Show/Form.ShowDialog谁能证实或否认这是否属实?我有一个带有选项卡控件的大型WinForms表单,表单上有许多控件,在加载时会暂停几秒钟。我已将其缩小到设计器在InitializeComponent中生成的代码,而不是我在构造函数或OnLoad中的任何逻辑。我很清楚我不能尝试在主UI线程以外的任何线程上与UI交互,但我想做的是让应用程序预加载此表单(运行构造函数)在后台,所以一旦用户想要打开它,它就可以立即显示在UI线程上。但是,在后台线程中构建时,在设计器中

c# - 在 .net web api 属性路由中的 Controller 级别使用 Route 而不是 RoutePrefix

如果我用Route属性装饰这个webapiController,我可以点击该方法[Route("api/v{version}/bank-accounts")]publicclassBankAccountsController:ApiController{[HttpGet]publicHttpResponseMessageGetBankAccounts(){//...}}但是如果我使用RoutePrefix而不是我不能让它工作,除非我同时使用Route("")[RoutePrefix("api/v{version}/bank-accounts")]publicclassBankAccou

c# - 如何保护 Web API 上的 Controller 仅供本地计算机使用

我有一个使用WebAPI、SignalR的ASP.NETMVC网站。我希望我的服务器(托管网站的同一台服务器)向WebAPIController发出HTTP请求-我希望这样做以便我可以连接到我网站的SignalR功能。我想让网站用户无法访问WebAPIController上的方法,但服务器可以。我查看了一般保护WebAPI请求的选项,似乎我可以使用以下选项:为每个请求发送用户名和密码,也就是基本身份验证生成“客户端证书”并随每个请求一起发送这是仅有的两种听起来可行的方法,但我想知道如果请求来自本地主机(同一台服务器),使用这些方法是否有点过分。这是不是太过分了,有没有更简单的方法来限制

c# - 让最新的 Ninject 与最新的 MVC 5/Web Api 2 一起工作?

我知道有几个问题有点像这个问题,但由于我找不到任何文档,而且其他问题都没有任何对我有帮助的答案,这里是:我创建了一个新的ASP.NET应用程序(VS2013),选择了MVC,我添加了API。我在包控制台中运行“update-package”以更新到最新版本(MVC5.1.2、WebApi5.1.2)。然后我添加新的Ninject.MVC5和Ninject.Web.WebApi包。我将这些行添加到web.config文件(Ninject想要5.0版,我有5.1版):在App_start/NinjectWebCommon.cs文件中,我添加了一个绑定(bind):privatestatic

c# - 使用 C# 访问 Salesforce Web 服务 API

我之前没有使用过那个SalesforceAPI,所以我对如何连接到salesforce服务有点困惑。到目前为止,我了解到我必须为我的帐户或我的客户的帐户生成一个wsdl文件(第1步)。到目前为止,还不错。但现在快速入门(http://www.salesforce.com/us/developer/docs/api/Content/sforce_api_quickstart_steps.htm)说了一些关于“将WSDL文件导入您的开发平台”(第2步)的内容。如何将wsdl文件导入VisualStudio2008?我找不到快速入门中提到的“添加Web引用”选项。而且如果我只需要用到WSDL

c# - 调用线程必须是 STA,因为在 WPF 中很多 UI 组件都需要这个

这个问题在这里已经有了答案:"ThecallingthreadmustbeSTA,becausemanyUIcomponentsrequirethis"errorwhencreatingaWPFpop-upWindowinthread(2个答案)关闭1年前。我的场景:voidInstaller1_AfterInstall(objectsender,InstallEventArgse){try{MainWindowObjMain=newMainWindow();ObjMain.Show();}catch(Exceptionex){Log.Write(ex);}}我收到错误消息“调用线程必

c# - 如何在 web.config 文件中写入连接字符串并从中读取?

我正在尝试像这样将连接字符串写入Web.config:然后像这样阅读它:stringstrcon=ConfigurationManager.ConnectionStrings["Dbconnection"].ConnectionString;SqlConnectionDbConnection=newSqlConnection(strcon);当运行程序时,由于空引用,我得到一个错误。但是当我使用这段代码时:SqlConnectionDbConnection=newSqlConnection();DbConnection.ConnectionString="Server=localhos

c# - RunAsync - 如何等待 UI 线程上的工作完成?

在等待Dispatcher.RunAsync时,继续会在工作安排时发生,而不是在工作完成时发生。我如何等待工作完成?编辑我最初的问题假设过早继续是由API的设计引起的,所以这是真正的问题。当使用异步委托(delegate)等待Dispatcher.RunAsync时,在委托(delegate)代码中使用await时,遇到await时会继续,不是在工作完成时。我如何等待工作完成?编辑2您可能需要分派(dispatch)已在UI线程上的工作的一个原因是解决微妙的时间和布局问题。视觉树中元素的大小和位置的值不断变化是很常见的,为UI的后续迭代安排工作会有所帮助。

c# - 使用 WEB API 的 EntityFramework,更新所有属性

我将EF与WEBAPI结合使用。我有一个PUT方法,它更新一个已经在数据库中的实体。现在我有这个://PUTapi/fleet/5publicvoidPut(Fleetfleet){FleetdbFleet=db.Fleets.Find(fleet.FleetId);dbFleet.Name=fleet.Name;dbFleet.xy=fleet.xy;//andsoon....db.SaveChanges();}但是我很懒,只想写这样的东西:dbFleet.update(fleet);因此我不必单独更新每个属性。我确定有办法,但我只能找到有关如何使用MVC执行此操作的答案,而不是在使

c# - System.Web.Configuration.WebConfigurationManager 和 System.Configuration.ConfigurationManager 之间的行为差​​异

我在带有ASP.NET网站的测试服务器上遇到了一些问题。我傻了,有了家默认网站的目录指向了错误的位置。当我尝试时:ConfigurationManager.ConnectionStrings["connectionString"];它返回了null,但是usingSystem.Web.Configuration;/*...*/varrootWebConfig=WebConfigurationManager.OpenWebConfiguration(Request.ApplicationPath);WebConfigurationManager.OpenWebConfiguration(