小编Jas*_*ans的帖子

StructureMap异常代码205缺少请求的实例属性

我正在尝试最新的StructureMap构建,以了解IoC容器等.作为我的第一次测试,我有以下课程:

public class Hospital
    {
        private Person Person { get; set; }
        private int Level { get; set; }

        public Hospital(Person employee, int level)
        {
            Person = employee;
            Level = level;
        }

        public void ShowId()
        {
            Console.WriteLine(this.Level);
            this.Person.Identify();
        }
    }
Run Code Online (Sandbox Code Playgroud)

然后我像这样使用StructureMap:

static void Main()
        {
            ObjectFactory.Configure(x =>
                                        {
                                            x.For<Person>().Use<Doctor>();
                                            x.ForConcreteType<Hospital>().Configure.Ctor<int>().Equals(23);
                                        });

            var h = ObjectFactory.GetInstance<Hospital>();

            h.ShowId();
        } 
Run Code Online (Sandbox Code Playgroud)

所以我将Doctor对象作为第一个构造函数param传递给Hospital,我正在尝试将levelparam 设置为23.当我运行上面的代码时,我得到:

未处理的异常:StructureMap.StructureMapException:StructureMap异常代码:205缺少所请求的实例属性"level"for InstanceKey"5f8c4b74-a398-43f7- 91d5-cfefcdf120cf"

所以看起来我根本就没有设置level参数.有人能指出我正确的方向 - 如何level在构造函数中设置参数?

干杯.雅.

structuremap

7
推荐指数
1
解决办法
4558
查看次数

AutoConfiguredMoqCustomization和不可设置的属性

如何强制使用AutoConfiguredMoqCustomization配置的AutoFixture自动模拟接口及其只读属性?

为了清楚起见,让我们假设我有这样的界面:

public interface A {
     int Property {get;}
}
Run Code Online (Sandbox Code Playgroud)

和这样的课程:

public class SomeClass {
     public SomeClass(A dependency) {}
}
Run Code Online (Sandbox Code Playgroud)

我想要的是dependency解决一个将返回的东西dependency.Property:

var fixture = new Fixture().Customize(new AutoConfiguredMoqCustomization());
var sut = fixture.Create<SomeClass>(); // <- dependency passed to SomeClass' constructor will have .Property returning null
Run Code Online (Sandbox Code Playgroud)

moq autofixture

7
推荐指数
1
解决办法
421
查看次数

需要帮助HL7

我需要你的所有帮助来指导我处理HL7接口集成,我将在两个不同的临床应用程序之间进行工作.

它是这样的,让我用一个例子解释我的查询.

我们现在有Epic系统下订单(实验室,药物等).现在,接下来这些实验室订单将产生另一个Cerner应用程序.

为此,必须有一个INTERFACE ENGINE,它必须读取来自EPIC系统HL7消息,并将它们转换为Cerner SYSTEM的正确消息,然后写入其数据库.

所以,请你用一个示例界面引擎来解释我,它首先读取HL7消息并将它们转换为Cerner应用程序格式.

我如何在这里实现一个读取EPIC数据的接口引擎?

涉及哪些步骤?一个例子是最好的.

主要是,订单首先放在EPIC中,并产生Cerner应用程序.

请帮助我理解这个过程,以及如何使用Interface Engine进行界面嵌入?

hl7

6
推荐指数
2
解决办法
7638
查看次数

你可以在Ninject 2中使用AOP吗?

我试图在网上找到如何通过Ninject使用AOP的例子.有人可以在不使用外部库(即Castle Windsor?)的情况下确认Ninject 2中是否有AOP可用.

如果可以,您是否可以发布资源链接以帮助我入门?

aop ninject-2

6
推荐指数
1
解决办法
3150
查看次数

如何在Razor宏中获取当前成员

我在Our Umbraco论坛上提出了这个问题,但是我想通过在这里发布相同的问题来增加我获得解决方案的机会.

我遇到的问题是,在Razor宏中,我无法获得当前Member访问该站点的人员.我尝试了以下方法:

  • 调用Member.GetCurrentMember(),但这会返回NULL.
  • 调用Membership.GetUser(),但这会返回NULL
  • 调用UmbracoEnsuredPage.CurrentUser返回NULL;

还有另一种方法可以让Member我了解上述方法在我的情况下是如何工作的吗?

macros umbraco

6
推荐指数
1
解决办法
6840
查看次数

ASP.NET-MVC4代码未运行

我有一个简单的MVC4解决方案,可以正常工作,直到我在控制器中设置断点.如果我这样做,断点没有命中,我得到一个标题为"Source Not Available"的弹出窗口继续说"Code not running",然后"当前线程当前没有运行代码或调用无法获得堆栈."

只要我不想调试,应用程序就会运行.有线索吗?

justmock asp.net-mvc-4

6
推荐指数
2
解决办法
3859
查看次数

ASP.NET LoginUser.DestinationPageUrl无法正常工作

HTML就像:

  <asp:Login ID="LoginUser" runat="server" EnableViewState="false" RenderOuterTable="false" OnLoggedIn="LoginUser_LoggedIn"
                    OnLoginError="LoginUser_LoginError">
</asp:Login>
Run Code Online (Sandbox Code Playgroud)

LoginUser_LoggedIn事件我正在设置目标URL,如:

LoginUser.DestinationPageUrl = "~/mycustompage.aspx";
FormsAuthentication.RedirectFromLoginPage(LoginUser.UserName, true);
Run Code Online (Sandbox Code Playgroud)

这里当ReturnUrl页面URL中没有,那么它将重定向到"〜/ mycustompage.aspx"页面,但如果在URL中指定了任何ReturnUrl,则它将重定向到ReturnUrl页面.

无论ReturnUrl是否存在,我总是想重定向到"〜/ mycustompage.aspx"页面.怎么做到这一点?

非常感谢提前!

asp.net login-control

6
推荐指数
1
解决办法
3347
查看次数

当您关闭浏览器选项卡时,JavaScript 计时器会立即清理吗?

假设我通过以下方式创建了一个计时器:

setTimeout()

(或者我正在使用setInterval()

当计时器滴答作响时,在它到期之前,我决定关闭正在执行该代码的浏览器选项卡。浏览器是否会在此时自动清理计时器(考虑到我没有在此时调用clearTimeout())全部)?

我想知道代码是否有可能在内存中停留足够长的时间,以便在达到超时值时仍然可以执行代码。或者关闭选项卡是否意味着计时器从内存中擦除,因此调用的函数setTimeout()将永远不会被执行。

javascript memory dispose timer

6
推荐指数
1
解决办法
4302
查看次数

使用REST API登录TeamCity服务器,而不在URL中传递凭据

作为对上一个问题的跟进,我问:如何在TeamCity REST API中传递用户名和密码,我想检查一下.

有人能告诉我是否可以以更安全的方式访问TeamCity REST API,而不是在URL中传递用户名和密码?

我觉得在网址中传递凭据是唯一的方法,因为嗅探器很容易在网址上获取并使用凭证本身.

security rest teamcity

5
推荐指数
2
解决办法
3603
查看次数

使用 [DisallowNull] 与不可为空的引用类型

我正在了解 C# 8.0 中可空引用类型的来龙去脉

在阅读有关可为空引用类型的博客时,我对以下示例感到有些困惑。

public static HandleMethods
{
    public static void DisposeAndClear([DisallowNull] ref MyHandle? handle)
    {
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)

作者展示了如何[DisallowNull]在这种情况下使用属性。但是,我的疑问是您为什么需要这里的属性?这段代码不一样吗?

public static HandleMethods
{
    public static void DisposeAndClear(ref MyHandle handle)
    {
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)

通过删除属性,并?在 末尾MyHandle,这会是一个类似的替代方案吗?

编辑:

感谢 UnholySheep,我相信我现在明白了。

public static void DisposeAndClear([DisallowNull] ref MyHandle? handle)
{
    handle = null;
}
Run Code Online (Sandbox Code Playgroud)

在调用这个版本的函数时,handle不能为null进去,但是在函数内部可以设置为null,所以当函数返回时,任何使用都handle需要检查是否handle为null。

c# nullable-reference-types

5
推荐指数
1
解决办法
248
查看次数