Tag: C#的

在ASP.NET中获取HTTP引用

我正在寻找一种快速,简单和可靠的方式来获取浏览器的HTTP Referrer在ASP.Net ( C# )。 我知道HTTP Referrer本身是不可靠的,但我确实需要一个可靠的方式来获取引用者,如果它是存在的。

使用Razor / MVC3将AssemblyVersion变成网页的问题

我在我的_Layout.cshtml文件的脚注中使用下面的代码将AssemblyInfo版本数据放入我的MVC3站点中每个页面的页脚。 然而: @System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString() 只需打印在页脚中: Revision 0.0.0.0 当我修改视图来显示“执行程序集”的所有程序集信息使用以下 @System.Reflection.Assembly.GetExecutingAssembly().GetName().ToString() 其中打印以下内容: Revision App_Web__layout.cshtml.639c3968.hlogy75x, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null 这表明“执行大会”不是我的主要应用程序,它是视图本身。 我如何获得实际应用程序的汇编信息,而不仅仅是单个视图?

在ASP.NET Web API中处理ModelStatevalidation

我想知道如何使用ASP.NET Web API实现模型validation。 我有我的模型是这样的: public class Enquiry { [Key] public int EnquiryId { get; set; } [Required] public DateTime EnquiryDate { get; set; } [Required] public string CustomerAccountNumber { get; set; } [Required] public string ContactName { get; set; } } 然后我在我的API控制器中有一个Post操作: public void Post(Enquiry enquiry) { enquiry.EnquiryDate = DateTime.Now; context.DaybookEnquiries.Add(enquiry); context.SaveChanges(); } 如何添加if(ModelState.IsValid) ,然后处理错误消息传递给用户?

使用'for'循环遍历C ++ Vector

我是C ++语言的新手。 我已经开始使用向量,并且已经注意到,在我看到的所有代码中,通过索引遍历一个向量, for循环的第一个参数总是基于向量。 在Java中,我可以用ArrayList做这样的事情: for(int i=0; i < vector.size(); i++){ vector[i].doSomething(); } 有没有一个原因,我没有看到这在C + +? 这是不好的做法吗?

这两条线是一样的吗? …:'vs'??'?

这两条线是否有区别? MyName = (s.MyName == null) ? string.Empty : s.MyName 要么 MyName = s.MyName ?? string.Empty

是否有可能将C指针初始化为NULL?

我一直在写东西 char *x=NULL; 假设 char *x=2; 会创build一个char指针到地址2。 但是,在GNU C编程教程中,它说int *my_int_ptr = 2; 将整数值2存储到分配给my_int_ptr任何随机地址中。 这似乎意味着我自己的char *x=NULL是分配任何值的NULL强制转换为char是内存中的某个随机地址。 而 #include <stdlib.h> #include <stdio.h> int main() { char *x=NULL; if (x==NULL) printf("is NULL\n"); return EXIT_SUCCESS; } 事实上,打印 一片空白 当我编译和运行它时,我担心的是我依赖于未定义的行为,或者至less是不明确的行为,而且我应该写 char *x; x=NULL; 代替。

在ASP.NET MVC的静态字段中使用Server.MapPath()

我正在构build一个ASP.NET MVC网站,我正在使用Lucene.Net进行search查询。 我在这里提出了一个关于如何在ASP.NET MVC应用程序中正确地构造Lucene.Net的用法的问题 ,并被告知最好的方法是将我的IndexWriter声明为public static ,以便它可以被重用。 以下是我的SearchController顶部的一些代码: public static string IndexLocation = Server.MapPath("~/lucene"); public static Lucene.Net.Analysis.Standard.StandardAnalyzer analyzer = new Lucene.Net.Analysis.Standard.StandardAnalyzer(); public static IndexWriter writer = new IndexWriter(IndexLocation,analyzer); 由于writer是静态的, IndexLocation也必须是静态的。 因此,编译器给我以下错误Server.MapPath() : 对象引用对于非静态字段,方法或属性“System.Web.Mvc.Controller.Server.get” 有没有一种方法使用Server.MapPath()或类似的静态字段 ? 我该如何解决这个错误? 提前致谢。

为什么C ++需要一个单独的头文件?

我从来没有真正理解为什么C ++需要一个单独的头文件,其function与.cpp文件中的相同。 它使得创build类和重构它们变得非常困难,并且将不必要的文件添加到项目中。 然后有必要包含头文件的问题,但必须明确检查是否已包括在内。 C ++在1998年被批准了,为什么这样devise呢? 有一个单独的头文件有什么好处? 后续问题: 当我包含的是.h文件时,编译器如何find带有代码的.cpp文件? 它是否假定.cpp文件与.h文件具有相同的名称,还是实际查看目录树中的所有文件?

如何在界面中实现一个属性

我有接口IResourcePolicy包含属性Version 。 我必须实现这个包含值的属性,写在其他页面的代码: IResourcePolicy irp(instantiated interface) irp.WrmVersion = "10.4"; 我怎样才能实现财产version ? public interface IResourcePolicy { string Version { get; set; } }

DeploymentItem属性的问题

我目前正在维护用C#.net编写的“旧”系统,删除一些过时的function并进行一些重构。 感谢上帝,前面的人写了一些unit testing(MSTests)。 我对JUnittesting非常满意,但是对于MSTests还没有做太多的工作。 testing方法有一个DeploymentItem属性,用于指定一个文本文件,该文件由正在testing的业务逻辑方法进行parsing,第二个DeploymentItem只包含一个包含一堆必须部署的TIF文件的path。 [TestMethod()] [DeploymentItem(@"files\valid\valid_entries.txt")] [DeploymentItem(@"files\tif\")] public void ExistsTifTest() { … } 之前的testing工作,但现在我不得不改变\ files \ tif目录中包含的TIF文件的名称。 根据规则,TIF文件名必须与ExistsTifTest()方法检查的特定模式相匹配。 现在我不得不改变文件名以适应新的要求,突然之间TIF文件就不再像以前那样部署了。 有人可以给我一个暗示为什么会发生这种情况,或者是什么原因? 同样的事情也会发生,如果我添加一个新的文本文件,并在\ files \ valid \目录中的“valid_entries.txt”旁边添加“my2ndTest.txt”,并在test方法中使用相应的DeploymentItem属性。 该文件没有被部署? 我通过直接在testrunco​​nfig中定义部署path,得到了现在部署的映像,但我想了解为什么发生这些事情,或者为什么我的新文件“my2ndTest.txt”没有得到部署,而其他人做。