在我的 IIS 机器上进行本地开发,我以前使用的是192.168.0.100:542. 我最近不得不恢复出厂设置我的路由器,现在我有192.168.1.x。我可以使用 访问本地站点localhost:542,但仍会向旧 IP 地址发出一些 AJAX 请求和重定向。
我试过清除缓存、清除 Chrome 的 DNS 缓存、执行ipconfig /flushdns和使用隐身窗口,但它仍在发生。
我想要一个正则表达式代码,它只允许数字电话号码(例如1234567890)以及GB格式号码(例如123-456-7890).
该表达式必须适用于这两种情况.
目前我正在使用下面的正则表达式,只允许GB电话号码
/^(\()?\d{3}(\))?(-|\s)?\d{3}(-|\s)\d{4}$/
Run Code Online (Sandbox Code Playgroud)
我还需要帮助才允许数字编号.
我正在尝试从Crysis Wars SDK中的源代码构建DLL,并且在过去的Visual Studio早期版本(即2005年,2008年和2010年)上已经成功完成了.我的具体问题是:
Error 4 error LNK2019: unresolved external symbol "struct CTypeInfo const & __cdecl
TypeInfo<char>(char *)" (??$TypeInfo@D@@YAABUCTypeInfo@@PAD@Z) referenced in function
"void __cdecl SwapEndian<char>(char *,unsigned int)" (??$SwapEndian@D@@YAXPADI@Z)
G:\Noctis\Mods\Noctis\Code\GameCVars.obj GameDll
Run Code Online (Sandbox Code Playgroud)
我试图在Visual Studio中清理代码并在可能的情况下重建它,但这并没有改变任何东西.
我在这里遗漏了什么,或者从C++ 03到C++ 11有什么变化,这意味着如果没有恢复到旧版本的C++,这段代码就不再可编译了?
我已经在64位和32位上成功地在Visual Studio 2010上编译了此代码,因此它必须是与将项目迁移到Visual Studio 2015相关的一些问题.
在2012年,2013年和2015年版本的Visual Studio上进行编译会重现此错误,但不会重现2010年,因此似乎在C++ 11中引入了触发此问题的更改.
我究竟做错了什么?
阅读mem-fun的答案不是std的成员,它可能只是我需要包含一个标准库,我不需要在早期版本的Visual Studio中包含它.如果这是真的,我需要哪个库#include?
我也创建了一个GitHub的库只包含SDK中提供的原始未修改的代码,用于测试目的(在我自己做了一个错字,这似乎并没有在这里是如此的事件,但我在这里为把链接它可能会有所帮助).
如果重要,我在Windows 10 Professional x64上使用Visual Studio 2015企业版.
截至去年9月,我一直在使用基于英特尔i7的笔记本电脑来创建和编译我的程序,但不幸的是显卡坏了,因此我构建了一台基于AMD 4100 FX处理器的预算计算机.
自从我开始使用桌面进行编译以来,我遇到了各种各样的问题,主要问题是我的应用程序在英特尔平台上确实不稳定.
这个问题的最新版本是我的C++代码中的某个函数被破坏,似乎是由于在AMD CPU上进行编译而引起的.为了测试这一点,我很快掌握了AWS(亚马逊网络服务)EC2 micro.t2服务器,从Dreamspark安装了Visual Studio 2008,下载了源代码并进行了编译.果然,没有腐败的功能和源代码生成的DLL完美运行.
我正在使用带有库存编译器的Visual Studio 2008,并运行Windows 8.1(AWS EC2服务器运行Windows Server 2008 R2).我正在尝试编译的代码示例是Crysis Wars SDK,请记住,此代码总是在我的Intel i7 CPU上正常编译.
为什么我的AMD CPU在编译C++应用程序时遇到这么多麻烦?除了继续在AWS EC2服务器上编译我的应用程序,或者在基于英特尔的新PC构建上花钱,我能做些什么吗?
我的网站上有100页,但我只想下载一页而不是所有页面内容.
我只想下载每个页面一个框,文件大小为10 KB.为此,我使用WebClient和htmlagilitypack.
WebClient Client = new WebClient();
var result = Encoding.GetEncoding("UTF-8").GetString(Client.DownloadData(URL));
Run Code Online (Sandbox Code Playgroud)

我有一个类似于这个的类:
template <class T = char>
struct C {
T value;
};
Run Code Online (Sandbox Code Playgroud)
高达C++ 14,当我想使用默认模板参数时,我总是必须指定空尖括号:
void f() {
C<> c;
c.value = 'x';
}
Run Code Online (Sandbox Code Playgroud)
由于C++ 17支持类模板参数推导和显式推导指南,我想知道现在是否有办法使上面的代码工作而不指定空的尖括号:
void f() {
C c;
c.value = 'x';
}
Run Code Online (Sandbox Code Playgroud)
如果我用它编译它,这段代码在GCC 8.0中有效-std=gnu++17.但是,它仍然在Clang 6.0和Visual Studio 15.7中显示错误.哪种编译器在这种情况下是正确的?
我也试过指定这样的演绎指南:
C() -> C<char>;
Run Code Online (Sandbox Code Playgroud)
这也没有帮助.这是正确的语法还是有一种方法来为默认构造函数指定演绎指南?
我正在阅读 C# 8 中称为可为空引用类型的新功能的描述。该描述讨论了所谓的 null-forgiving 运算符。描述中的示例谈到了引用类型实例的取消引用(我认为是这样):
https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/operators/null-forgiving
当您明确知道表达式不能为 null 但编译器无法识别时,您也可以使用 null-forgiving 运算符。在以下示例中,如果 IsValid 方法返回 true,则其参数不为 null,您可以安全地取消引用它:
Run Code Online (Sandbox Code Playgroud)public static void Main() { Person? p = Find("John"); if (IsValid(p)) { Console.WriteLine($"Found {p!.Name}"); } } public static bool IsValid(Person? person) { return person != null && !string.IsNullOrEmpty(person.Name); }如果没有空值原谅运算符,编译器会为 p.Name 代码生成以下警告:警告 CS8602:取消引用可能为空值的引用。
我的印象是,在 C# 中取消引用对象意味着将其设置为 null。但看起来 Microsoft 将访问对象的属性称为取消引用该对象。
问题是:当我们谈论引用类型实例而不是托管和非托管指针时,C# 中的解引用术语是什么意思。
我正在将大约EF模型从EF4迁移到EF6的大约EF模型,我也将它从Designer EDMX生成的数据库更改为Code First数据库.
现在我正在使用EF fluent-api配置实体关系,我不确定我是否正确使用它.
它是SQL Server数据库中的类型varchar(50),所以我应该像这样配置它吗?
mb.Entity<SomeObject>()
.Property(so => so.Type)
.IsUnicode(false)
.HasColumnName("Type")
.HasColumnType("varchar")
.HasMaxLength(50)
.IsRequired()
.HasDatabaseGeneratedOption(DatabaseGeneratedOption.None);
Run Code Online (Sandbox Code Playgroud)
或者像这样,没有HasMaxLength(50)?
mb.Entity<SomeObject>()
.Property(crt => crt.Type)
.IsUnicode(false)
.HasColumnName("Type")
.HasColumnType("varchar(50)")
.IsRequired()
.HasDatabaseGeneratedOption(DatabaseGeneratedOption.None);
Run Code Online (Sandbox Code Playgroud)
另外,假设我有另一个带有GUID ID的对象:
mb.Entity<AnotherObject>()
.Property(ao => ao.ID)
.HasColumnName("ID")
.HasColumnType("uniqueidentifier")
.IsRequired()
.HasDatabaseGeneratedOption(DatabaseGeneratedOption.None);
Run Code Online (Sandbox Code Playgroud)
在数据库中它有一个默认的newsequentialid(),我应该是配置方面DatabaseGeneratedOption.None,DatabaseGeneratedOption.Identity或DatabaseGeneratedOption.Computed?
这些选项有什么区别?此外,在代码中,GUID主要在对象实例化时分配,如下所示:
Guid ID = new Guid.NewGuid()
Run Code Online (Sandbox Code Playgroud)
这合适吗?
我已经开始为一个涉及在较新引擎上重建游戏的小项目制作主服务器程序。主服务器程序目前看起来像这样:

带有“发现 4 个已安装处理器”的大文本框是一个“控制台”,它使用主服务器输出发送到客户端/游戏服务器和从客户端/游戏服务器发送的原始事件消息。不能输入,管理员(唯一可以访问主服务器程序这个界面的人)只能从文本框中复制;他们不能删除/添加任何东西。
问题是,因为它应该是一个“控制台”,它应该自动向下滚动到多行文本框的最后一行。
有堆栈溢出覆盖这个(许多问题这一个为例),但我一直没能得到它的工作(文本框不向下滚动)的范围内放置代码时console_TextChanged子程序。我试过这个:
Private Sub console_TextChanged(sender As Object, e As EventArgs) Handles console.TextChanged
console.AppendText(Text)
console.Select(console.TextLength, 0)
console.ScrollToCaret()
End Sub
Run Code Online (Sandbox Code Playgroud)
它不起作用,但它确实会导致程序中的错误,其中每一行都附加了程序的标题很多次:
[net 11:32:22.243] System Started.Server Network | Crysis Wars 1.5Server Network | Crysis Wars 1.5Server Network | Crysis Wars 1.5Server Network | Crysis Wars 1.5Server Network | Crysis Wars 1.5Server Network | Crysis Wars 1.5Server Network | Crysis Wars 1.5Server Network | Crysis Wars 1.5Server Network | Crysis Wars 1.5Server Network | …Run Code Online (Sandbox Code Playgroud) 当我打开最近在Visual Studio 2015上创建的C++项目时,我能够调试它并让它运行,但代码窗口是空白的.我点击了四处找不到任何东西给我看代码,所以我可以继续研究它.
我试过了:
我怀疑这对我的界面是一个非常直接的误解,但是想要参与Stack Exchange来解决这个问题.
c++ ×4
c# ×3
c++03 ×1
c++11 ×1
c++17 ×1
cakephp ×1
dereference ×1
iis-express ×1
intel ×1
ip-address ×1
laravel ×1
regex ×1
textbox ×1
validation ×1
vb.net ×1
winforms ×1