Tag: .net

如何在视图中使用MVC角色权限?

如何根据角色中的一组用户在视图中应用权限。 例如,如何为角色编辑器显示“创建文章”按钮并将其隐藏为角色Reader?

我们如何从getschemaTable获取Column Size和dataType?

我是一个新手,我试图从我的数据库中的某些表中检索列NAme,大小(最大legth)和DataType,当我执行它时,以下代码期望它显示所有列类型和名称(我没有找到如何引用Size,我使用了ColumnSize,但据说DataColumn不包含此方法的定义)但在执行时,它只显示:IsColumnSetSystem.Boolean这是代码: private void button1_Click(object sender, EventArgs e) { string EF = textBox1.Text; try{ //SqlDataAdapter adapter = SetupDataAdapter(“SELECT * FROM id_declarant”); SqlCommand comm = new SqlCommand(); string connectionString = @”Data Source=.\SQLEXPRESS;Initial Catalog=declaration;Integrated Security=True”; comm.Connection=new SqlConnection(connectionString); String sql = @”SELECT * FROM id_declarant,declarant WHERE (declarant.Nom_pren_RS='” + EF + “‘) and (id_declarant.mat_fisc=declarant.mat_fisc) “; comm.CommandText = sql; comm.Connection.Open(); SqlDataReader […]

使控制对接和滚动条播放得很好

我有一个面板有时需要比自然适合更多的垂直屏幕空间,所以它需要能够垂直滚动。 所以,它都设置为AutoScroll。 控件包含在TableLayoutPanel中并设置为dock,因此它们应调整其宽度以匹配。 然而,当控件触发滚动条时,它总是最终创建一个水平滚动条,即使在被违反的控件上没有最小宽度约束。 它基于先前的宽度创建水平滚动条,而不是遵循停靠命令并重新绘制控件以适应新的宽度。 这有更好的方法吗?

如何在HttpClient response.ReasonPhrase中获取真正的错误消息?

我的设定 我有2个WebApi项目,具有以下流程: 用户向API 1发出请求 API 1代表用户向API 2发出请求(使用HttpClient )。 using (var client = new HttpClient()) { client.SetBearerToken(token); string endpoint = PbbSettings.Identity.Users.Delete.Replace(“{userId}”, userId); // Attempt deletion of the user using (var response = await client.DeleteAsync(endpoint)) { // Throw exception if not succeeded EnsureSuccess(response); } } 问题 所以控制和信息的流动很好。 问题是当API 2响应错误时, response.ReasonPhrase “Bad Request”或“Internal Server Error”,而不是我在exception中设置的消息。 现在已经整整一天吐血了。 任何见解? 更多信息(TLDR) […]

操作系统显示语言为非英语时获取本地时区标识符

奇怪的是, TimeZone.CurrentTimeZone.StandardName按照计算机显示语言返回本地化名称。 我想要一个程序化标识符,我可以在下面的代码中提供给TimeZoneInfo 。 TimeZoneInfo timeZoneInfo = TimeZoneInfo.FindSystemTimeZoneById(timeZone); FindSystemTimeZoneById需要一个唯一的非本地化程序标识符 我将计算机显示语言改为中文,当我执行TimeZone.CurrentTimeZone.StandardName时,我得到了一个本地化的unicode字符串。 然而,价值是正确的,但它是本地化的计算机显示语言,这是我不想要的。 我现在没有使用TimeZoneInfo.Local.Id选项,因为我的项目是在.Net 2.0中。 我还有哪些其他选项可以获得非本地化的时区标识符?

自主WCF服务无法通过WCFTestClient进行测试

我正在尝试使用WCFTestClient测试我自己托管的wcf服务。 我得到一个错误: 错误:无法从http:// localhost:2303 / MyService获取元数据如果这是您有权访问的Windows(R)Communication Foundation服务,请检查您是否已在指定地址启用元数据发布。 有关启用元数据发布的帮助,请参阅http://go.microsoft.com/fwlink/?LinkId=65455上的MSDN文档.WS- Metadata Exchange错误URI: http:// localhost:2303 / MyService元数据包含参考无法解决:’http:// localhost:2303 / MyService’。 内容类型application / soap + xml; 服务http:// localhost:2303 / MyService不支持charset = utf-8。 客户端和服务绑定可能不匹配。 远程服务器返回错误:(415)无法处理消息,因为内容类型为’application / soap + xml; charset = utf-8’不是预期的类型’text / xml; charset = utf-8′.. HTTP GET错误URI: http:// localhost:2303 / MyService下载’http:// localhost:2303 / MyService’时出错。 请求失败,HTTP状态为400:错误请求。 我的项目结构如下 作为主机的控制台应用程序 服务合约 […]

无法处理从HTTP / HTTPS协议重定向到其他不同的协议

基本上,我正试图从CNet的Download.com上获取EXE 所以我创建了Web解析器,到目前为止一切顺利。 以下是从其网站直接提取的示例链接: http://dw.com.com/redir?edId=3&siteId=4&oId=3001-20_4-10308491&ontId=20_4&spi=e6323e8d83a8b4374d43d519f1bd6757&lop=txt&tag=idl2&pid=10566981&mfgId=6250549&merId=6250549&pguid=PlvcGQoPjAEAAH5rQL0AAABv&destUrl=ftp%3A%2F%2F202.190.201.108%2Fpub%2Fryl2%2Fclient%2Finstaller-ryl2_v1673.exe 问题出在这里:当您尝试下载时,它以HTTP开头,然后重定向到FTP站点。 我已经尝试过.NET的WebClient和HttpWebRequest对象,看起来两者都不能支持重定向。 此代码在GetResponse()时失败; HttpWebRequest req = (HttpWebRequest)WebRequest.Create(“http://dw.com.com/redir”); WebResponse response = req.GetResponse(); 现在,我也试过这个: HttpWebRequest req = (HttpWebRequest)WebRequest.Create(“http://dw.com.com/redir”); req.AllowAutoRedirect = false; WebResponse response = req.GetResponse(); string s = new StreamReader(response.GetResponseStream()).ReadToEnd(); 并且它不再抛出错误,但变量s变成空字符串。 我不知所措! 任何人都可以帮忙吗?

.NET:如何PInvoke UpdateProcThreadAttribute

我试图在Windows 7上PInvoke UpdateProcThreadAttribute()但我的尝试只是返回FALSE与最后Win32错误50。 Function declaration (from MSDN) BOOL WINAPI UpdateProcThreadAttribute( __inout LPPROC_THREAD_ATTRIBUTE_LIST lpAttributeList, __in DWORD dwFlags, __in DWORD_PTR Attribute, __in PVOID lpValue, __in SIZE_T cbSize, __out_opt PVOID lpPreviousValue, __in_opt PSIZE_T lpReturnSize ); 这是我对PInvoke签名的尝试: [DllImport(“kernel32.dll”, CallingConvention = CallingConvention.Winapi, SetLastError = true)] public static extern bool UpdateProcThreadAttribute ( IntPtr lpAttributeList, UInt32 dwFlags, ref UInt32 Attribute, ref IntPtr […]

没有办公室的Excel到PDF

我需要在我正在处理的Windows应用程序中生成PDF报告,我通过将.xlsx文件导出为pdf来完成此操作。 我目前正在使用互操作,但是: 我需要这样做而不需要用户购买软件,因此没有微软办公室擅长。 我也不能使用任何重依赖(如open / libre office)。 该应用程序在.NET winforms中并且是本地的(不依赖于Internet连接)。 我试过的事情: 我已经尝试过iTextSharp,但是这会像溢出列这样的东西变得非常复杂。 试过closedXML但无法转换为PDF。 (如前所述)尝试互操作但无法找到办法让它独立于办公室。 将不胜感激,谢谢你提前:) 编辑: iTextSharp的 我会使用它,除了我需要导出一个具有可变列数(最多30列)的大型DataTable,如果有很多列,那么处理该列溢出变得非常复杂,这在互操作中很容易。 阅读Aspose 看起来太贵了,因为我在一家目前资源非常有限的小公司工作。

在WPF中延迟后重置变量的值

我有一些代码执行并获取执行的返回值。 我将此值设置为我的窗口的依赖项属性,因为有绑定到它的样式触发器。 当变量为0时,它使用默认样式,1表示偏红样式,2表示绿色。 但是我必须在一段时间后以某种实际的方式重置这种风格。 最简单的方法是什么? if (!Compiler.TryCompile(strText, Models[Model], EntryPoint.Text, out error)) { output.Items.Add(“Error compiling:”); output.Items.Add(error); CompilationStatus = 1; // dependency property bound on ui } else { output.Items.Add(“Compilation successful!”); CompilationStatus = 2; // dependency property bound on ui } // should execute this after 5 seconds CompilationStatus = 0; // dependency property bound on ui […]