小编Pet*_*ris的帖子

一个验证Web地址并匹配空字符串的正则表达式?

当前表达式验证Web地址(HTTP),如何更改它以使空字符串也匹配?

(http|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])?
Run Code Online (Sandbox Code Playgroud)

regex

3
推荐指数
1
解决办法
8184
查看次数

在代码中复制SQL Server数据库

我有两个SQL Server连接字符串,CX和CY.

我需要做的是

  1. 确保CY中没有表格.
  2. 备份数据库CX.
  3. 将其恢复为CY.

还没找到我要找的东西.我不想要一个工具来执行此操作,我需要在运行时使用C#代码执行此操作,因为添加新客户端的操作需要将主数据库复制到空DB.我不能使用预制脚本,因为我还需要复制数据,并且主数据库可能在添加新客户端之前几秒就已更新.

=== UPDATE ===

我正在使用Smo.Backup和Smo.Restore.当我尝试恢复时,我得到:

错误3154备份集包含现有数据库以外的数据库的备份.

谁能告诉我如何解决这个问题?除此之外,我有一个有效的解决方案!

谢谢

皮特

c# sql-server

3
推荐指数
1
解决办法
6836
查看次数

为什么Unity3D RaycastHit.textureCoord总是0,0?

var startPoint = 
  shaft.transform.position 
  + shaft.transform.forward;
var ray = new Ray(
    startPoint, 
    -shaft.transform.forward
  );

RaycastHit rayCastHit;
Physics.Raycast(ray, out rayCastHit);
var textured2D = (Texture2D)discoBall.renderer.material.mainTexture;
Vector2 textureCoord = rayCastHit.textureCoord;
Debug.Log(string.Format(
    "{0},{1} at distance {2}", 
    textureCoord.x * textured2D.width, 
    textureCoord.y * textured2D.height, 
    rayCastHit.distance
  ));
Run Code Online (Sandbox Code Playgroud)

我有一个球体,里面有一个物体"轴"物体.我计算出一个startPoint,它在轴指向的方向上离轴(离开球体).然后,我创建一条指向球体的光线,该光线具有相同的距离,以便它与我的球体外部相撞.

Debug.Log为textureCoord输出x,y = 0,0,为距离输出正确的值0.35.为什么textureCoord总是0,0当我确实在我的球体上有一个带有纹理的材质?

球体属性

unity-game-engine

3
推荐指数
1
解决办法
2069
查看次数

如何实现访问者模式以生成 XML?

我有一个包含许多类的复合类结构。由于许多不同的原因(验证、克隆、导出为 xml 等),需要遍历此结构,因此编写使用访问者模式是有意义的。鉴于以下类结构

class Owner
{
    public string Name { get; set; }
    public List<Owned> Liked { get; private set; }
    public List<Owned> Disliked { get; private set; }

    public Owner()
    {
        this.Liked = new List<Owned>();
        this.Disliked = new List<Owned>();
    }
}

class Owned
{
    public string Name { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

如果我想生成这样的 XML 应该如何实现这样的访问者模式

<owner>
    <name>Owner 1</name>
    <likedThings>
        <owned>
            <name>Liked thing 1</name>
        </owned>
        <owned>
            <name>Liked thing 2</name>
        </owned>
    </likedThings>
    <dislikedThings>
        <owned>
            <name>Disliked thing 1</name>
        </owned>
        <owned>
            <name>Disliked thing …
Run Code Online (Sandbox Code Playgroud)

c# java design-patterns visitor-pattern

2
推荐指数
1
解决办法
1796
查看次数

为什么我的浏览器不存储ASP MVC CORE 2 cookie?

我有一个Angular(4)客户端(localhost:4200),它调用ASP MVC CORE 2 WebApi.其中一个调用http://localhost:5000/api/session/resume返回一个cookie以及响应.

在动作方法中,我已经返回3个cookie用于测试目的.

    [AllowAnonymous, HttpPost, Route("api/session/resume")]
    public async Task<AccountSignInResponse> Resume([FromBody]SessionResumeCommand command)
    {
        AccountSignInResponse apiResponse = await Mediator.Send(command);
        if (!apiResponse.HasErrors) {
        Response.Cookies.Append("TestCookie", ..., new CookieOptions
        {
            Domain = "localhost",
            Expires = DateTimeOffset.Now.AddDays(100),
            HttpOnly = false
        });
        Response.Cookies.Append("TestCookie4200", ..., new CookieOptions
        {
            Domain = "localhost:4200",
            Expires = DateTimeOffset.Now.AddDays(100),
            HttpOnly = false
        });
        Response.Cookies.Append("TestCookie5000", ..., new CookieOptions
        {
            Domain = "localhost:5000",
            Expires = DateTimeOffset.Now.AddDays(100),
            HttpOnly = false
        });            }
        return apiResponse;
    }
Run Code Online (Sandbox Code Playgroud)

此请求的标头是

Request URL:http://localhost:5000/api/session/resume
Request Method:POST
Status …
Run Code Online (Sandbox Code Playgroud)

cookies asp.net-mvc asp.net-web-api asp.net-core

2
推荐指数
1
解决办法
1047
查看次数

如何将 WeakReference&lt;Action&gt; 保留到实例的方法,直到收集实例为止?

class Program
{
    static void Main(string[] args)
    {
        var inst = new SomeClass();
        var weakRef = new WeakReference<Action>(inst.DoSomething);
        GC.Collect();
        Console.WriteLine($"inst is alive = {inst != null} : weakRef.Target is alive = {weakRef.TryGetTarget(out Action callback)}");
        Console.ReadLine();
    }
}

public class SomeClass
{
    public void DoSomething() { }
}
Run Code Online (Sandbox Code Playgroud)

输出显示inst不为空,但指向的引用WeakReference<Action>为空。我预计这是因为创建了一个指向实例方法的新操作,而不是存储对实例方法本身的引用。

如何在对象实例尚未被垃圾回收期间保留对该对象实例的方法的弱引用?

c# weak-references

2
推荐指数
1
解决办法
1535
查看次数

JSON 架构 - 无法将数组转换为布尔值

我正在测试 NewtonSoft 的 JsonSchema 包并有以下代码

string schemaJson = File.ReadAllText("c:\\temp\\schema.txt");
JsonSchema schema = JsonSchema.Parse(schemaJson);
Run Code Online (Sandbox Code Playgroud)

当我在https://www.jsonschemavalidator.net/上测试架构时,它可以正确执行,但是当我在本地运行上述代码时,我收到ArgumentException“无法将数组转换为布尔值”。

这是架构:

{
  "$schema": "http://json-schema.org/draft-07/schema",
  "$id": "http://example.com/root.json",
  "type": "object",
  "title": "The Root Schema",
  "description": "The root schema is the schema that comprises the entire JSON document.",
  "default": {},
  "required": [
    "checked",
    "dimensions",
    "id",
    "name",
    "price",
    "tags"
  ],
  "properties": {
    "checked": {
      "$id": "#/properties/checked",
      "type": "boolean",
      "title": "The Checked Schema",
      "description": "An explanation about the purpose of this instance.",
      "default": false,
      "examples": [
        false
      ] …
Run Code Online (Sandbox Code Playgroud)

c# json.net jsonschema

2
推荐指数
1
解决办法
2560
查看次数

如何将RectTransform(UI面板)转换为屏幕坐标?

我想确定Unity3D中RectTransform的屏幕坐标。考虑到元素可能已锚定,甚至缩放,该如何完成?

我试图使用RectTransform.GetWorldCorners,然后将每个Vector3转换为屏幕坐标,但是值是错误的。

public Rect GetScreenCoordinates(RectTransform uiElement)
{
    var worldCorners = new Vector3[4];
    uiElement.GetWorldCorners(worldCorners);
    var result = new Rect(
        worldCorners[0].x,
        worldCorners[0].y,
        worldCorners[2].x - worldCorners[0].x,
        worldCorners[2].y - worldCorners[0].y);
    for (int index = 0; index < 4; index++)
        result[index] = Camera.main.WorldToScreenPoint(result[index]);
    return result;
}
Run Code Online (Sandbox Code Playgroud)

unity-game-engine

1
推荐指数
1
解决办法
2477
查看次数

Angular2 +如何在运行时切换语言环境?

我看过Angular2 +中的i18n东西,我真的很喜欢。但是,我的要求是允许用户在运行时选择他们的语言。

在某些情况下,一个以上的人将使用同一终端,因此有必要在一天中的不同时间甚至在任务期间切换语言(英语管理员将控制权移交给非英语工作者以完成一些输入)。

有没有办法在Angular2 +(目前使用Angular 4)中做到这一点,还是我需要推出自己的解决方案?

localization internationalization angular

1
推荐指数
1
解决办法
919
查看次数

如何获取Azure App Service在静态站点上添加自定义HTTP响应标头?

我有一个仅包含静态html页面的Azure网站。如何在响应中设置缓存控制标头?

azure azure-web-sites

0
推荐指数
1
解决办法
673
查看次数

多次创建依赖注入作用域资源

发布此问题是为了帮助其他人(也发布了答案)。

我们有一个使用依赖注入(Microsoft 标准)的 Azure Functions 应用程序。

我们看到一个类Scoped在单个请求中多次注册为创建。

public class MyStrategy : IMyStrategy
{
  public MyStrategy(IUnitOfWork unitOfWork, ISomeRepository someRepository) { ... }
}

public class UnitOfWork: IUnitOfWork
{
  public UnitOfWork(ApplicationDbContext dbContext) { ... }
}

public class SomeRepository: ISomeRepository
{
  public SomeRepository(ApplicationDbContext dbContext) { ... }
}
Run Code Online (Sandbox Code Playgroud)

IMyStrategy注入 时,我们看到中的 DbContext 与中的 DbContextUnitOfWork不是同一个实例SomeRepository- 尽管所有这些都是使用 注册的services.AddScoped

对于我们来说,这意味着从我们调用时添加到ApplicationDbContextvia的新对象SomeRepository不会保存到数据库(因为我们添加到一个实例,并在另一个实例上调用Save)。ApplicationDbContext.SaveChangesAsyncUnitOfWork

.net dependency-injection

0
推荐指数
1
解决办法
720
查看次数