我们最近一直在努力使用新的 Oracle dll 更新我们的 C# 应用程序。我们为多个平台创建我们的软件。所以我们的软件解决方案既是一个 winform 桌面应用程序,也是一个 ASP.NET MVC web 应用程序。
这两个应用程序都可以完美地独立运行 Oracle 12.1。我们在重新分发我们的软件时添加了所有必要的 Oracle dll。因此,桌面应用程序在 MSI 中包含所有 dll,而网站的发布在 ~\Bin 中包含所有 dll。确保当网站托管在 IIS 上时,web 应用程序运行。这样我们的客户就不需要安装 Oracle Client。
现在问题来了,因为更新到 Oracle 12.2,我们不可能再运行 web 应用程序了。桌面应用程序仍然运行良好,尽管从 Oracle 12.2 开始,如果我们不允许桌面应用程序连接到 Internet,我们会收到防火墙异常消息。我们在 Oracle 12.1 或更低版本中没有收到该消息。

我们已经使用所有新的 Oracle dll 发布了我们的 web 应用程序(与桌面相同的 dll,与 web 应用程序具有 Oracle 12.1 时的方式相同),从那时起我们无法再连接到我们的 Oracle 数据库。我们得到以下错误:
Unable to load DLL 'OraOps12.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E)
System.TypeInitializationException: The type initializer for 'Oracle.DataAccess.Client.OracleConnection' threw an exception. ---> …Run Code Online (Sandbox Code Playgroud) 我目前正在使用 DurandalJS、BreezeJS 和 KnockoutJS 开发一个应用程序。
一切都很好,但最简单的事情(我相信),我无法让它工作。
在我的 Viewmodel 中,我有一个 currentCustomer,它是一个 ko.observable。通过微风我得到了客户!currentCustomer(data.results[0].Customer());这一切正常。如果我使用谷歌浏览器检查,我会看到该对象充满了 currentCustomer。
我想要的是以下内容:我有一个输入字段和一个值数据绑定,我试图将 currentCustomer 的名称绑定到这个输入。但我无法让它发挥作用。有效的是这样的:
<input data-bind="value: currentCustomer()" />
Run Code Online (Sandbox Code Playgroud)
但是在输入字段中它只说 [Object object] 所以在 currentCustomer 中肯定有一些东西(这是)。
这是我尝试过但没有奏效的方法:
<input data-bind="value: currentCustomer().Name()" />
<input data-bind="value: currentCustomer().Name" />
<input data-bind="value: currentCustomer.Name()" />
<input data-bind="value: currentCustomer.Name" />
<input data-bind="value: currentCustomer()._latestValue().Name()" />
<input data-bind="value: currentCustomer()._latestValue.Name()" />
Run Code Online (Sandbox Code Playgroud)
这是一个屏幕截图,因此您可以看到值在视图中!
我很长时间都在努力解决这个问题,并想到为什么不在Stackoverflow上问这个问题!我的问题如下:
我正在使用Durandal和BreezeJS创建单页面应用程序(SPA).每当用户创建一些新东西时,就会调用Breeze Lib中的createEntity函数,并返回我的对象.我将它推入Ko.observablearray并且瞧它工作得很好;)
直到这一切都运转良好.
但现在是棘手的部分,我使用ko.observablearray创建一个带有data-bind的表.每行都是可点击的,当您单击一行时,将调用SelectedMemo函数并成功传递"item".但是在这里,当这个函数需要创建自定义模态时,没有任何反应.我收到错误/app/views/.html不存在.我知道这里发生了什么,它正在尝试路由到非现有页面,因为没有创建实体的View和model-view.
我该如何解决这个问题?那么当我点击表格中的一行时,会看到我项目的所有数据?
这是到目前为止的代码:
这是一个模型:
define(function (require) {
var router = require('durandal/plugins/router'),
app = require('durandal/app'),
system = require('durandal/system'),
addmemo = require('viewmodels/modals/addMemo'),
memo = require('viewmodels/modals/memo'), //probably in the models folder but for now its okay
dataservice = require('services/dataservice'),
memos = ko.observableArray([]),
suspendItemSave = false;
function extendMemo(memoToExtend) {
if (memoToExtend.isEditing) return; // already extended
memoToExtend.isEditing = ko.observable(false);
//Deze functie wordt getriggerd zodra het aanpassen klaar is!
// listen for changes with Breeze PropertyChanged event
memoToExtend.entityAspect.propertyChanged.subscribe(function () {
if (memoToExtend.propertyChangedPending …Run Code Online (Sandbox Code Playgroud) 我正在构建一个角度应用程序。这个有角度的应用程序将交付给具有不同需求和基础设施的多个客户。它将需要几个值(例如后端服务器、标题等),这些值应该由客户在安装时进行配置。
在调试中,我完全可以想象这些值来自environnments/environments.ts文件,但是一旦构建,就environment.prod.ts无法再更改,因此可能无法构建。
我如何向角度应用程序提供值(我猜是通过某些文件或环境变量)(以及如何读取它们)?
目前尚未决定,但很可能构建的文件将包装在 nginx docker 镜像中。
我正在开发一个SPA webapplication有DurandalJS,但我不明白的东西.
让我们说我有page 1和2.在page 1一个模式中,在databasewith 中创建一个实体BreezeJS并返回一个密钥(在数据库中生成).
我想传递这个获取的密钥,然后转到我的第二页,第2页.我知道当我把它放在网址中时我该怎么做
http://localhost:60312/#/page2?orderid=2&repairorder=2
Run Code Online (Sandbox Code Playgroud)
但这不是方法Durandal,或者是它?用户可以输入他自己的一些后果!
我怎么解决这个问题?
breeze ×2
durandal ×2
javascript ×2
knockout.js ×2
.net ×1
angular ×1
c# ×1
deployment ×1
dll ×1
docker ×1
modal-dialog ×1
odp.net ×1
oracle ×1