一个非常新秀的问题:
我正在尝试使用工厂方法构建资源对象:
.factory('Magazines', [function ($resource) {
var url = document.URL;
var urlArray = url.split("/");
var organId = urlArray[urlArray.length-1];
return $resource('http://localhost/ci/api/magazines/:id', {
loginID : organEntity,
password : organCommpassword,
id : organId
});
}])
Run Code Online (Sandbox Code Playgroud)
这种方法很简单,因为所有参数都是预定义的,organEntity和organCommpassword是在标签内定义的.
现在,对于不同的资源对象,我需要在调用工厂时传入参数.
我想这个资源对象的调用代码应该如下所示:
.controller('ResrouceCtrl', function($scope, Magazines) {
$scope.magazines = Magazines.query();
});
Run Code Online (Sandbox Code Playgroud)
我知道query()方法可以添加参数: Magazines.query(params, successcb, errorcb);
我想知道我是否只传入参数,我可以在工厂获得参数吗?如何在factory方法中指定这样传入的参数?
例如,现在假设我不能再从url获取organId,我需要从我的控制器传递它,如何在工厂方法中接收organId?
这是我的资源js:
.factory('MagComments', function ($resource) {
return $resource('http://localhost/dooleystand/ci/api/magCommenct/:id', {
loginID : organEntity,
password : organCommpassword,
id : '@magId' //pass in param using @ syntax
});
})
Run Code Online (Sandbox Code Playgroud)
这是我的控制器:
$scope.magComments = MagComments.query({magId : 1}); …Run Code Online (Sandbox Code Playgroud) 我有一个控制台应用程序试图从web.config文件加载CustomConfigurationSection.
自定义配置部分具有所需的自定义配置元素.这意味着当我加载配置部分时,如果配置中不存在该配置元素,我希望看到异常.问题是.NET框架似乎完全忽略了isRequired属性.因此,当我加载配置部分时,我只创建自定义配置元素的实例并将其设置在配置部分.
我的问题是,为什么会发生这种情况?我希望GetSection()方法触发ConfigurationErrors异常,因为配置中缺少必需的元素.
以下是我的配置部分的外观.
public class MyConfigSection : ConfigurationSection
{
[ConfigurationProperty("MyConfigElement", IsRequired = true)]
public MyConfigElement MyElement
{
get { return (MyConfigElement) this["MyConfigElement"]; }
}
}
public class MyConfigElement : ConfigurationElement
{
[ConfigurationProperty("MyAttribute", IsRequired = true)]
public string MyAttribute
{
get { return this["MyAttribute"].ToString(); }
}
}
Run Code Online (Sandbox Code Playgroud)
这是我加载配置部分的方法.
class Program
{
public static Configuration OpenConfigFile(string configPath)
{
var configFile = new FileInfo(configPath);
var vdm = new VirtualDirectoryMapping(configFile.DirectoryName, true, configFile.Name);
var wcfm = new WebConfigurationFileMap();
wcfm.VirtualDirectories.Add("/", vdm);
return WebConfigurationManager.OpenMappedWebConfiguration(wcfm, "/");
} …Run Code Online (Sandbox Code Playgroud) c# configuration configurationsection configurationelement webconfigurationmanager
我们最近升级了AutoMapper,并在以某种方式映射项目时遇到了问题.
当我加载NHibernate域对象,并尝试以下列方式将我的模型映射到它:
var myPoco = new MyPoco();
var proxy = repository.Load<MyDomainObject>(id);
Mapper.Map(myPoco, proxy);
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
Missing type map configuration or unsupported mapping.
MyPoco-> MyDomainObjectProxy
Run Code Online (Sandbox Code Playgroud)
但是,如果我使用方法的以下重载,我不会得到异常:
var myDomainObj = Mapper.Map<MyPoco, MyDomainObject>(myPoco);
Run Code Online (Sandbox Code Playgroud)
当您查看AutoMapper代码时,您可以看到这些方法在代码库中调用不同的基本方法,这就是它们表现不同的原因.
这是较新版本的AutoMapper的错误,还是有另一种方法使用Mapper.Map(源,目标)方法与代理?
注意:这是使用AutoMapper 2.2.0.我相信这在0.3中运行良好.
我正在尝试编写一个适用于rabbitMQ绑定的wcf服务.我能够成功创建服务器和客户端,并让客户端通过队列向服务器发送消息.我对2个问题很困惑.
服务一旦关闭,队列就会被删除.有没有办法配置wcf和rabbitMQ,以便队列是持久的?这样,如果我的服务器崩溃,我不必担心丢失数据.
我似乎无法控制队列的名称.当我运行时,rabbitmqctl.bat list_queues我看到队列被调用amq.gen-3IgZD30XvTEQWNRsezSUUA==.有没有办法控制队列的名称?
我有一个引用类库项目的DNX控制台应用程序.我试图发布它并将其安装为全局命令.
控制台项目 Program.cs
namespace Vert.Commands
{
public class Program
{
public static void Main(string[] args)
{
var test = new ConsoleWriter();
test.Talk("Test", ConsoleColor.Cyan);
}
}
}
Run Code Online (Sandbox Code Playgroud)
控制台项目 project.json
{
"version": "1.0.0-*",
"description": "Test App",
"authors": [ "vrybak" ],
"tags": [ "" ],
"projectUrl": "",
"licenseUrl": "",
"compilationOptions": {
"emitEntryPoint": true
},
"dependencies": {
"CommandLib": "1.0.0-*"
},
"commands": {
"vm-test-job": "Vert.Commands"
},
"frameworks": {
"dnx451": {}
}
}
Run Code Online (Sandbox Code Playgroud)
类库:CommandLib文件:ConsoleWriter
namespace CommandLib
{
public class ConsoleWriter
{ …Run Code Online (Sandbox Code Playgroud) 首先是一些背景:
我们最近的任务是将SAML 2.0断言发送到我们正在与之通信的服务器.我们正在为我们的客户使用WCF.服务器未使用WCF.实现服务器的人没有会发出SAML断言的STS.我们正在尝试使用WIF框架,因为它支持SAML 2.0令牌.
是否可以使用来自客户端的消息发送SAML 2.0断言而无需从STS获取SAML2令牌?如果可以,请发布一些示例代码,了解如何使用WCF和Windows Identity Foundation进行此操作?我环顾四周,找不到任何东西.
有没有人有客户从STS获取SAML2.0令牌然后将带有断言的令牌发送到服务器应用程序的任何示例?
我们有很多不同的解决方案/项目,由不同的团队管理.我们的解决方案需要参考另一个团队拥有的几个项目.我们不希望将这些依赖项添加为项目引用,因为我们不打算修改该代码,我们只想使用它.此外,我们的解决方案中已经有相当多的项目,并且不想添加更多项目,因为它会降低Visual Studio的速度.因此,我们在单独的解决方案中构建这些项目,并将它们作为文件引用添加到我们的解决方
我的问题是,人们如何管理这些类型的依赖关系?我是否应该只有一些自动化流程来查找这些项目的更改,构建它们并将dll检查到我们的源代码控制中,之后我们将它们视为其他第三方依赖项?有推荐的方法吗?
version-control projects-and-solutions dependency-management visual-studio
我正在使用visual studio 2010.我有一个网站项目,我想在每次构建项目时构建一个网站部署包.基本上我正在寻找一个post build MSBuild命令的例子,该命令基本上与网站右键菜单中的"Build Deployment Package"选项做同样的事情.
我有以下对象
public class Document
{
public Guid Id { get; set; }
public ISet<Tag> Tags { get; set;}
...
}
public class Tag
{
public Guid Id { get; set;}
}
Run Code Online (Sandbox Code Playgroud)
这是多对多关系,但我没有中间 DocumentTag 对象。我正在尝试使用 QueryOver 语法返回具有所有一组标签的所有文档。这是我到目前为止所拥有的。
Guid[] tagsThatMustMatch = ...;
var result = Session.QueryOver<Document>()
.WithSubquery
.WhereExists(QueryOver.Of<Tag>().Where(t => tagsThatMustMatch.Contains(t.Id))
.List()
Run Code Online (Sandbox Code Playgroud)
我很难表达这个要求。我知道我必须动态构建一个查询,该查询将为每个必须匹配的标签提供一个WhereExists。这些WhereExists 需要进行与运算。我遇到的另一个问题是WhereExists 方法需要接受DetachedQuery。但我没有办法限制它只查看该文档没有所有标签的标签。
有没有什么例子可以让我看到如何做这样的事情?