所以,我在一个单独的类库中创建了我的实体模型.我不得不将连接字符串添加到该app.config类库的文件中.然后我在我的Web应用程序中为该项目添加了一个ref.我在web.config我的Web应用程序中添加了相同的连接字符串,认为这是Entity Framework将从中读取连接字符串的位置.
在部署我的网络应用程序之前,一切都很好.当我部署时,我更改了web.config(不是app.config类库)中的连接字符串,我开始收到错误.之后做一些研究,我发现,在这两种连接字符串web.config和app.config必须匹配!
这真是愚蠢!每次我需要将我的Web应用程序部署到不同的环境时,我必须返回并修改app.config文件中的连接字符串,然后重新编译我的类库项目,以便它可以获得刷新的连接字符串?
有人找到了更好的方法吗?我的意思是,我不能只想到将实体模型放在一个单独的组件中.
可能的解决方案(如果您使用的是EF 4.1): 由于我们需要在类库项目中使用app.config的唯一原因是EF设计器.如果我们抛弃设计者方法并使用Code-First(EF 4.1),您将不需要为您的类库项目提供app.config文件.
.net entity-framework connection-string entity-framework-4.1
我刚刚开始为一家目前正在经历成长痛苦的小公司工作.我不确定我将在这里描述什么样的系统.基本上我们有一个由许多不同的第三个应用程序组成的大杂烩,这些应用程序通过一个本地的"集成系统"相互交谈,这个系统是SQL作业,用.NET编写的后台服务,FTP传输和SSIS等的混合体.
以下是鸟瞰图:我们面向公众的网站是供应商在场外托管的订单输入系统(第三方购物车软件).我们每天每4小时下载订单信息.然后,我们的本土"集成系统"将这些数据进行按摩,该系统将此信息提供给我们的库存和仓库管理系统(WMS).它还向MS Great Plains,Pulse,PayFuse和第三方CMS等提供信息.
正如您可能已经猜到的那样,这种体系结构非常脆弱,并且轻微的事故(例如SQL作业失败的FTP故障)可能会导致数据差异,从而产生多米诺骨牌效应.有时由于数据相关问题或复制问题可能导致整个仓库停滞不前,我们有时无法接受订单,处理或发货订单.
我的任务是重新构建我们的系统并消除系统的紧密耦合以实现业务增长.我需要研究哪些方面?我一直在研究ESB和SOA,但我被告知,我的公司无法承担与iWay或Talend相关的50万美元承诺.
有什么选择?内部开发是答案,是否比ESB实施便宜?有没有人经历过类似的成长痛苦,如果是这样,你是如何处理整合的?
在处理使用异步 rest 调用的数据 API 时(我使用的是 RestSharp.Portable),处理返回值的最佳方法是什么?由于 async 函数只能返回一个 Task 或 Task ......但调用者无法返回返回值...... API如何将数据返回给调用者?全局属性?
从我到目前为止所读到的内容来看,回调函数似乎是与响应数据交互的唯一方法?
以下面的方法为例;以前我没有使用异步 Rest 库并且能够返回一个值,但是在将其转换为使用 RestSharp.Portable 后,我没有看到返回值的方法:
public async Task<EntityResourceDescriptor> GetEntityDescriptor(string entityType)
{
TaskCompletionSource<EntityResourceDescriptor> tcs = new TaskCompletionSource<EntityResourceDescriptor>();
var req = new RestRequest("/qcbin/rest/domains/{domain}/projects/{project}/customization/entities/{entityType}");
AddDomainAndProject(req);
req.AddParameter("entityType", entityType, ParameterType.UrlSegment);
client.ExecuteAsync<EntityResourceDescriptor>(req, (res) =>
{
if (res.ResponseStatus == ResponseStatus.Error)
{
tcs.TrySetException(res.ErrorException);
}
else
{
tcs.SetResult(res.Data);
}
}
);
return tcs.Task;
}
Run Code Online (Sandbox Code Playgroud)
在这里我所能做的就是返回 Task 但调用者仍然无法获取响应数据,或者我是否遗漏了一些明显的东西?调用者可以订阅在 Task.Completed 等处触发的事件吗?
我对这个异步概念非常模糊。是否有编写可移植数据 API 的示例?