我已经阅读了文档,声明'给定枚举的类型,System.Enum的GetValues()方法将返回给定枚举的基本类型的数组'即int,byte等
但是我一直在使用GetValues方法,所有我一直回来的是一个Enums类型的数组.我错过了什么?
public enum Response
{
Yes = 1,
No = 2,
Maybe = 3
}
foreach (var value in Enum.GetValues(typeof(Response)))
{
var type = value.GetType(); // type is always of type Enum not of the enum base type
}
谢谢
我从SQL Server数据库字段获取二进制数据,并在我的应用程序具有权限的目录中本地创建文档.但是我仍然得到标题中指定的错误.我已尝试在网上发布了许多建议,包括在Stackoverflow上的帖子中提出的建议.我还使用了ProcessExplorer> Find Handle来找到锁,它没有返回任何内容,好像文件没有被锁定一样.
我使用下面的代码将文件保存到文件系统,然后我尝试在另一个方法的应用程序进程中将此文件复制到新位置.正是这种复制方法采用了抛出异常的新创建文件的路径.
文件本身是用它的内容创建的,我可以通过Windows资源管理器打开它,没有任何问题.
我错过了一些完全明显的东西吗 我是否正确地从数据库创建文件?任何有关解决或更好地诊断问题的帮助将非常感激.
// Get file from DB
FileStream fs = new FileStream(
"C:\myTempDirectory\myFile.doc", FileMode.OpenOrCreate, FileAccess.Write);
BinaryWriter br = new BinaryWriter(fs);
br.Write("BinaryDataFromDB");
fs.Flush();
fs.Close();
fs.Dispose();
// Copy file
File.Copy(sourceFileName, destinationFilename, true);
Run Code Online (Sandbox Code Playgroud) 什么是使用asp.net和C#在上传过程中检查文件大小的最佳方法?我可以通过改变我的web.config上传大文件而不会有任何问题.当上传的文件超过我允许的最大文件大小时,我的问题就出现了.
我已经研究过使用activex对象,但这不是跨浏览器兼容的,也不是解决方案的最佳答案.我需要它是跨浏览器兼容的,如果可能的话,并支持IE6(我知道你在想什么!!但是我的应用程序用户中有80%是IE6,不幸的是,这不会很快改变).
有没有任何开发人员遇到同样的问题?如果是这样,你是如何解决它的?
我有一个例程,它使用递归循环将项插入SQL Server 2005数据库.启动循环的第一个调用包含在使用TransactionScope的事务中.当我第一次调用ProcessItem时,myItem数据会按预期插入到数据库中.但是,当从ProcessItemLinks或ProcessItemComments调用ProcessItem时,我收到以下错误.
"该操作对交易状态无效"
我正在使用Windows 7上的VS 2008进行调试,并运行MSDTC以启用分布式事务.下面的代码不是我的生产代码,但设置完全相同.AddItemToDatabase是我无法修改的类上的方法,并使用标准的ExecuteNonQuery()创建连接,然后关闭并在完成后进行处置.
我看过这里和互联网上的其他帖子仍然无法解决这个问题.任何帮助将非常感激.
using (TransactionScope processItem = new TransactionScope())
{
foreach (Item myItem in itemsList)
{
ProcessItem(myItem);
}
processItem.Complete();
}
private void ProcessItem(Item myItem)
{
AddItemToDatabase(myItem);
ProcessItemLinks(myItem);
ProcessItemComments(myItem);
}
private void ProcessItemLinks(Item myItem)
{
foreach (Item link in myItem.Links)
{
ProcessItem(link);
}
}
private void ProcessItemComments(Item myItem)
{
foreach (Item comment in myItem.Comments)
{
ProcessItem(comment);
}
}
Run Code Online (Sandbox Code Playgroud)
这是堆栈跟踪的顶部.不幸的是,我无法将这一点的构建显示为公司敏感信息,我无法透露.
at System.Transactions.TransactionState.EnlistPromotableSinglePhase(InternalTransaction tx, IPromotableSinglePhaseNotification promotableSinglePhaseNotification, Transaction atomicTransaction)
at System.Transactions.Transaction.EnlistPromotableSinglePhase(IPromotableSinglePhaseNotification promotableSinglePhaseNotification)
at System.Data.SqlClient.SqlInternalConnection.EnlistNonNull(Transaction tx)
at System.Data.SqlClient.SqlInternalConnection.Enlist(Transaction tx)
at …Run Code Online (Sandbox Code Playgroud) 我在C#中编写一个小型控制台应用程序,它引用了一个实现自定义.net Profile提供程序的自定义程序集.我已将以下部分添加到我的app.config文件中,该文件引用了自定义类和程序集.
<system.web>
<profile defaultProvider="MyCompanyProfileProvider" inherits="MyCompany.Web.User.GenericProfile" automaticSaveEnabled="false">
<providers>
<clear/>
<add name="MyCompanyProfileProvider" connectionStringName="defaultDatabase" applicationName="/myApplication" type="MyCompany.Web.ProfileProvider, MyCompany.Web"/>
</providers>
<properties>
<add name="JobRoleId" type="System.Int32"/>
<add name="LastCompetencyId" type="System.Int32" defaultValue="0"/>
<add name="MixSettings" type="System.Xml.XmlDocument"/>
</properties>
</profile></system.web>
Run Code Online (Sandbox Code Playgroud)
但是,当我在调试模式下运行应用程序时,我得到以下错误,就好像它正在查看System.Web程序集而不是app.config文件中指定的那个.
无法从程序集'System.Web,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a'加载类型'MyCompany.Web.User.GenericProfile'.
我有一个本地Web应用程序,也使用程序集和自定义配置文件提供程序,并且没有任何问题.我已经检查了引用的程序集被复制到输出目录.
有任何想法吗??
我正在开展一个项目,我需要进行Blowfish加密和解密.是否存在其他人在其中使用的内容,但在.NET C#环境中找不到任何内容?
理想情况下,我会喜欢不依赖于运行exe的东西,因为这最终将存在于exe服务器的实时服务器上!
我已经阅读了一些关于SO的旧帖子,但没有什么合适的.
有任何想法吗?谢谢
任何人都可以指出我正确的方向让Ninject使用WCF Web API Preview 5吗?我已成功启动并运行在我的ASP.NET MVC 3项目中以及使用Ninject.Extensions.Wcf库的另一个内部WCF服务中.但是,在创建新的MVC 3项目并从NuGet获取WebApi.All库时,我无法使其工作.
我已经看过这个stackoverflow post 使用新的WCF Web API设置Ninject但是无法让它工作,我认为可能与最新版本中的一些更改有关.
我也不确定哪个Ninject图书馆可以参考主要图书馆.我是否使用Ninject.MVC3,Ninject.Extensions.Wcf.
任何有关这方面的帮助将非常感激.
****更新**
我正在使用的代码来自上述问题的答案.我在自己的类文件中有这个.
public class NinjectResourceFactory : IResourceFactory
{
private readonly IKernel _kernel;
public NinjectResourceFactory(IKernel kernel)
{
_kernel = kernel;
}
public object GetInstance(Type serviceType, InstanceContext instanceContext, HttpRequestMessage request)
{
return _kernel.Get(serviceType);
}
public void ReleaseInstance(InstanceContext instanceContext, object service)
{
// no op
}
}
Run Code Online (Sandbox Code Playgroud)
我在global.asax中有这个:
var configuration = HttpConfiguration.Create().SetResourceFactory(new NinjectResourceFactory());
RouteTable.Routes.MapServiceRoute<myResource>("resource", configuration);
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是IResourceFactory接口无法识别,并且HttpConfiguration.Create()不再存在,所以我需要设置SetResourceFactory,我尝试使用HttpConfiguration()创建其他方法.CreateInstance方法但没有喜悦.
我是EF的亲戚,并使用EF4创建了一个简单的模型(见下文).

我在将新记录插入UserRecord实体并随后添加使用新创建的UserRecordId作为其主键的UserDetail实体时遇到问题.下面显示的代码用于在我的数据库具有一对多关系时工作,但当我将其更改为一对一关系时,我会在下面的图像中突出显示错误.

我认为它不起作用,因为现在没有与UserRecord关联的UserDetails属性,因为它现在是一对一的关系.我的问题是我现在如何以一对一的关系插入新的UserRecord和相应的UserDetail实体?
任何有关这一方面的帮助都非常受欢迎,因为一直在搜索网络并尝试各种不同的事情而没有成功.
干杯
Cragly
我有一个WCF 4服务,其中2个端点配置为使用wsHttpBinding和netTcpBinding.我使用WAS在IIS 7.5中托管服务,并使用Ninject WCF扩展到DI进入我的服务.当我使用wsHttpBinding端点来调用我的服务但是当我使用netTcpBinding时失败,我的服务工作正常.当我查看我的应用程序事件日志时,我收到以下错误.
我已经尝试在VS2010中调试这个问题,但是这个问题无处可寻.如果可能的话,我不想从我的WCF服务中删除Ninject.我知道我可以使用wsHttpBinding,但我这是一个内部服务,我想获得netTcpBindings提供的性能提升.
WebHost failed to process a request.
Sender Information: System.ServiceModel.ServiceHostingEnvironment+HostingManager/30180123
Exception: System.ServiceModel.ServiceActivationException: The service '/ProfileService.svc' cannot be activated due to an exception during compilation. The exception message is: Cannot be null
Parameter name: root. ---> System.ArgumentNullException: Cannot be null
Parameter name: root
at Ninject.Infrastructure.Ensure.ArgumentNotNull(Object argument, String name) in c:\Projects\Ninject\ninject\src\Ninject\Infrastructure\Ensure.cs:line 20
at Ninject.ResolutionExtensions.Get[T](IResolutionRoot root, IParameter[] parameters) in c:\Projects\Ninject\ninject\src\Ninject\Syntax\ResolutionExtensions.cs:line 37
at System.ServiceModel.Activation.ServiceHostFactory.CreateServiceHost(String constructorString, Uri[] baseAddresses)
at System.ServiceModel.ServiceHostingEnvironment.HostingManager.CreateService(String normalizedVirtualPath)
at System.ServiceModel.ServiceHostingEnvironment.HostingManager.ActivateService(String normalizedVirtualPath)
at System.ServiceModel.ServiceHostingEnvironment.HostingManager.EnsureServiceAvailable(String normalizedVirtualPath)
--- End of inner …Run Code Online (Sandbox Code Playgroud) 我目前正在使用 VS2012 中的内置发布功能将 ASP.NET MVC 站点发布到 Web 服务器上的文件系统目录共享。无论如何,当我单击“发布”按钮时,我可以将它发布到多个位置而不仅仅是一个位置吗?
我不想创建第二个配置文件并且必须两次执行相同的过程,我已经考虑通过添加附加标记来修改 pubxml 文件,以查看发布例程是否将其选中。但不幸的是,它似乎只是选择了列表中的最后一个配置。
我知道理想的情况是实施 CI 解决方案,但目前我的手与发布功能有关,需要保持相对简单。
非常感谢