草庐IT

c# - 公开课 - "is inaccessible due to its protection level. Only public types can be processed."

我正在做一个测试项目来了解对象的XML序列化,但我遇到了一个奇怪的运行时错误:namespaceSerializeTest{publicpartialclassForm1:Form{publicForm1(){InitializeComponent();}privatevoidForm1_Load(objectsender,EventArgse){}privatevoidserializeConnection(Connconnection){XmlSerializerserializer=newXmlSerializer(typeof(Conn));TextWritertextWrit

c# - 装箱和拆箱 : when does it come up?

所以我明白了什么是装箱和拆箱。它什么时候出现在现实世界的代码中,或者在什么例子中它是一个问题?我无法想象做这样的事情:inti=123;objecto=i;//Boxingintj=(int)o;//Unboxing...但这几乎可以肯定是过于简单化了,我什至可能在不知不觉中进行了装箱/拆箱。 最佳答案 与泛型之前相比,现在问题不大了。现在,例如,我们可以使用:Listx=newList();x.Add(10);inty=x[0];根本不需要装箱或拆箱。以前,我们有:ArrayListx=newArrayList();x.Add(1

c# - 对特定 Google Apps 域的 MVC4/Google OpenID 限制

我创建了一个新的MVC4/.NET4.5项目并启用了GoogleOpenID。这奏效了,非常容易。我的公司已“转到google”,我们的域/员工身份位于GoogleApps网络空间中。我如何才能只允许我们的GoogleApps域对我的新网站进行身份验证?我希望它像身份验证一样简单。这里是一些额外的信息:我确实创建了一个默认网络应用程序并启用了Google身份验证部分。我无法相信针对Google进行验证是多么简单。我的公司实际上有数百个电子邮件域,所有这些域都集中在一个电子邮件域“umbrella”下。比如我公司的企业邮箱域名是“foo.com”,但是在这个域名下有“x.foo.com”

c# - Azure 网站不断抛出错误 "An attempt was made to access a socket in a way forbidden by its access permissions"

我有一个网站在专用的Azure计划中作为Web应用程序运行。它连接到Redis、SQLAzure和MongoDB后端。该网站现在已经运行良好数周,然后没有任何新代码,我现在收到很多套接字异常,如下所示。试图以访问权限禁止的方式访问套接字。网站在连接到Redis、SQLAzure和MongoDB时间歇性地出现错误,这毫无意义。我更改了网站的定价层,这会将网站从一个虚拟机转移到幕后的另一个虚拟机,错误消失了几天又回来了。我刚刚将站点从S3更改为S2(使其更小),它们已经消失,但我不知道会持续多久。我该如何解决?Azure是否限制站点的套接字数量?Azure中的某个站点是否存在某些可能导致此

c# - 生产中的 Azure SDK 2.2 : Could not load file or assembly 'msshrtmi' or one of its dependencies. 系统找不到指定的文件

我已经在StackOverflow和其他网站的其他几个线程上读到过这个问题。其他解决方案都没有解决我的问题,而且大多数都已过时,引用了旧版本的AzureSDK。我有一个典型的Azure网站角色部署到Azure,它使用Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener来记录跟踪消息。发生跟踪时,看起来好像DiagnosticMonitorTraceListener正在使用RoleEnvironment类,该类又会尝试加载显然不存在的msshrtmi.dll.这是记录到Azure文件系统的堆栈跟踪的一部分:[F

c# - 简易喷油器 : Registering a type with constructor argument that's based on its parent

我目前正在从我的项目中删除Ninject,并转而使用SimpleInjector,但有一件事我无法正常工作。对于我的日志记录,在注册服务时,我以前能够将参数传递到我的日志记录类中_kernel.Bind().To().WithConstructorArgument("name",x=>x.Request.ParentContext.Request.Service.FullName);我正在寻找一种在SimpleInjector中重新创建它的方法。到目前为止,除了这个,我还有其他所有工作。通过执行以下操作,我可以使日志记录正常工作,尽管没有显示正确的记录器名称:_container.Re

c# - 如何从另一个程序集读取 app.config?

我有两个项目:控制台项目(Test.exe)类库项目(Test.Data.dll)我的类库项目包含一个app.config文件。我想从控制台项目访问类库中的设置,所以我试过:varconfig=ConfigurationManager.OpenExeConfiguration("Test.Data.dll");config.ConnectionStrings.ConnectionStrings[0].Name;//LocalSqlServer//seemstobethewrongassembly.和:varconfig=ConfigurationManager.OpenExeConfi

c# - 无法使用 ConfigurationManager 在 C# .NET Core 单元测试项目中读取 app.config

我创建了一个简单的单元测试项目来读取app.config文件。目标框架是Core2.0。我还创建了一个Core2.0控制台应用程序,以健全地检查自己以确保我没有做任何奇怪的事情(相同的测试按预期在.NET4.6.1单元测试项目中通过)。控制台应用程序读取app.config正常,但单元测试方法失败,我无法弄清楚原因。两者都使用相同app.config的副本(未添加为链接)并且都安装了System.Configuration.ConfigurationManagerv4.4.1NuGet包。App.config单元测试usingMicrosoft.VisualStudio.TestToo

c# - UWP App 中未链接到 UI 的计时器

我正在开发一个UWPMVVM项目,并希望在用户交互停止特定时间后实现自动注销系统。到目前为止,我一直在使用DispatcherTimer每秒从200倒数。TimerLeave=200;var_dispatcherTimer=newDispatcherTimer();_dispatcherTimer.Tick+=dispatcherTimer_Tick;_dispatcherTimer.Interval=newTimeSpan(0,0,1);_dispatcherTimer.Start();但是因为链接了DispatcherTimer使用UI并且我正在构建一个MVVM应用程序,我正在寻找

c# - 在 Unity3d 中获取 App Bundle 版本

简单的问题,但似乎很难找到。我正在构建Android和iOS游戏。我想提取应用程序的版本(即“2.0.1”)(如果AppStore/GooglePlay上有更新的版本则显示弹出窗口)。有人知道如何以编程方式执行此操作吗? 最佳答案 OUTDATED:Whilethisanswerwasperfectlyvalidattimeofwriting,theinformationitcontainsisoutdated.Thereisabetterwaytodothisnow,seethisanswerinstead.Theanswerha