Tag: .net

ASP.net页面中的“System.Threading.ThreadAbortException”

我的ASP.net页面中有以下代码: Response.StatusCode = 404 Response.Write(strResult) Response.End() 上面的代码抛出“类型’System.Threading.ThreadAbortException’的exception发生并被捕获。” 谁能告诉我原因? 我能解决这个问题吗? 谢谢

Newtonsoft JSON-转换到DataSet或从DataSet转换会导致Decimal变为Double?

我正在使用Newtonsoft JSON使用下面的代码将DataSet序列化为二进制JSON。 反序列化回DataSet时,字段类型从Decimal变为Double? 有谁知道出了什么问题? 示例代码: static void Main(string[] args) { var ds = new DataSet(); var dt = ds.Tables.Add(); dt.Columns.Add(“Test”, typeof(Decimal)); dt.Rows.Add(new object[] { 1.23345M }); var data = DataSetToBinJSON(ds); var ds2 = BinJSONToDataSet(data); Console.WriteLine((ds2.Tables[0].Columns[0].DataType == typeof(Decimal)) ? “Passed” : string.Format(“Failed- {0}”, ds2.Tables[0].Columns[0].DataType)); Console.ReadLine(); } /// /// Utility function to create an optimized Binary JSON […]

定义动态数组

如何在C#中定义动态数组?

从多个林环境中获取Domain Local Group的所有成员

我有一个域本地组,它是林A中域A的一部分。 我试图迭代这个组中的所有成员。 它迭代遍历林A的所有域,但不会迭代域B中的任何组成员,在林B中。 是从不同的森林开始迭代相同代码的唯一方法吗? 我们已尝试使用System.DirectoryServices.AccountManagement类,但它们和Windows Server 2012域控制器似乎存在问题。 private List getUsersInGroup(string groupDN) { var users = new List(); using (DirectoryEntry de = new DirectoryEntry(“GC://rootDSE”)) { var rootName = de.Properties[“rootDomainNamingContext”].Value.ToString(); using (var userBinding = new DirectoryEntry(“GC://” + rootName)) { using (DirectorySearcher adSearch = new DirectorySearcher(userBinding)) { adSearch.ReferralChasing = ReferralChasingOption.All; adSearch.Filter = String.Format(“(&(memberOf={0})(objectClass=person))”, groupDN); adSearch.PropertiesToLoad.Add(“distinguishedName”); adSearch.PropertiesToLoad.Add(“givenname”); adSearch.PropertiesToLoad.Add(“samaccountname”); adSearch.PropertiesToLoad.Add(“sn”); […]

C#.Net Dll引用依赖项

我编写了一个DLL库MyLIB.dll (版本1.0.0 ),它依赖于第三方DLL库OtherLIB.dll (版本1.0.0 )。 库可以在NuGet上使用OtherLIB.dll ,我将通过NuGet包管理器将其添加到MyLIB.dll项目中。 现在让我们说我正在编写一个新的应用程序,比如MyAspNetMvcApp ,我正在通过NuGet向它添加MyLIB.dll (版本1.0.0 )。 它会自动添加OtherLIB.dll (版本1.0.0 ),因为它依赖于它。 一切都很好,但…… 一个月后,发布了新版本的OtherLIB.dll – 版本1.0.1 。 我正在通过NuGet更新它。 现在,我的ASP.NET MVC应用程序停止工作,因为MyLIB.dll引发了exception。 它期望版本1.0.0中的 OtherLIB.dll ,但已经使用了更新的版本。 在MyLIB.dll项目引用中,我可以看到OtherLIB.dll的 “特定版本”标志被设置为“False”,所以我不知道这里发生了什么…… 除了在web.config文件中提供程序集绑定之外,是否有可能以其他方式解决此问题? 我如何为MyLIB.dll添加对OtherLIB.dll的引用,以便在将OtherLIB.dll更新为较新版本时不会出现exception?

.NET Windows窗体应用程序更新自身的最佳方法是什么?

我使用自行开发的系统,应用程序通过Web服务自行更新。 但是,我似乎记得在最初的.NET销售宣传中有关自动更新组件的东西,这些组件是.NET的内置function。 有一个应用程序更新本身和/或它使用的程序集的最佳实践是什么?

Microsoft Enterprise Library类型加载exception无法加载Microsoft.Practices.EnterpriseLibrary.Common.Configuration.EnterpriseLibraryContainer

我正在尝试整理朋友服务。 基本上,一旦我在构造函数中启动它就会出错。 这是代码片段。 public class DefaultCacheManager : ICacheManager { private readonly Microsoft.Practices.EnterpriseLibrary.Caching.ICacheManager _cacheManager; public DefaultCacheManager() { //Code blows here _cacheManager = CacheFactory.GetCacheManager(); } 我得到的错误如下。 未处理的exception:System.TypeInitializationException:’Test.TypeManagement’的类型初始值设定项引发exception。 —> Microsoft.Practices.Unity.ResolutionFailedException:依赖项的解析失败,type =“Test.DefaultCacheManager”,name =“CacheManager”。发生exception时:调用构造函数Test.DefaultCacheManager()。 例外情况是:TypeLoadException – 无法从程序集“Microsoft.Practices.EnterpriseLibrary.Common,Version = 6.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35”加载类型“Microsoft.Practices.EnterpriseLibrary.Common.Configuration.EnterpriseLibraryContainer”。 – – – – – – – – – – – – – – – – – […]

在浏览器中打开文件而不是下载它

我使用ssrs通过报表服务器使用ReportExecutionService.Render()生成一个resultStream字节数组,我目前使用以下代码为用户提供服务。 有没有办法可以使用这个相同的字节数组在新的浏览器窗口中自动打开报表,而不是进入保存/打开对话框? public void RenderReport (byte[] reportDigits, ReportItem reportItem) { HttpResponse response = HttpContext.Current.Response; response.Clear(); response.ContentType = reportItem.ReportMimeType; response.AddHeader(“Content-Disposition”, string.Format(“attachment; filename={0}”, reportItem.ExportName)); response.OutputStream.Write(reportDigits, 0, reportDigits.Length); response.End(); } 在过去,我使用了一个单独的ReportViewer.aspx页面,我先打开然后显示报告,但如果可能的话,我想在代码后面全部完成。 谢谢

是否有可能在.Net的编译时有条件地隐藏属性?

根据预处理程序指令,我想将类中的所有属性设置为EditorBrowsableAttribute.Never。 我考虑过创建一个从EditorBrowsableAttribute派生的自定义属性,但遗憾的是该类是密封的。 我已经看过ICustomTypeDescriptor,但在GetProperties方法中,我可以获取每个属性描述符,但属性集合是readonly。 有任何想法吗?

如何检索.NET运行时生成的所有已关闭generics类型的列表?

根据MSDN文档,.NET运行时将根据需要动态生成基于generics类型定义的封闭类型。 https://msdn.microsoft.com/en-us/library/f4a6ta2h.aspx 是否可以检索与运行时生成的闭合类型相对应的System.Type实例的集合?