我想通过两种方式揭露公司的api:
api.company.com(纯WebApi网站)
company.com/api(将WebApi添加到现有的MVC5公司站点)
因此,我将模型/控制器放在一个单独的程序集中,并从两个网站引用它.
另外,我使用路由属性:
[RoutePrefix("products")]
public class ProductsController : ApiController
Run Code Online (Sandbox Code Playgroud)
现在,上面的控制器可以通过以下方式访问:
api.company.com/products哪个好
company.com/products我想更改为company.com/api/products
有没有办法继续使用路由属性和设置MVC项目,所以它为所有路由添加"api"?
当我在C#中阅读一些关于内存管理的文章时,我对Finalizer方法感到困惑.
有许多与之相关的复杂规则.例如,没有人知道终结器何时被调用,即使ctor中的代码抛出,他们也会调用,CLR不保证在程序关闭时调用所有终结器等.
对于什么终结器可以在现实生活中使用?
我发现的唯一一个例子是程序在GC启动时发出蜂鸣声.
您是否在代码中使用了Finalizer并且可能有一些好样本?
UPD:
当开发人员想要确保某些类始终通过IDisposable正确处理时,可以使用终结器.(链接 ;感谢Steve Townsend)
我有一个简单的Django代码.
models.py文件中有我的模型和表单:
from django.db import models
from django.forms import ModelForm
class Supplier(models.Model):
name = models.CharField(max_length=55)
comment = models.TextField(blank=True)
class SupplierForm(ModelForm):
class Meta:
model = Supplier
Run Code Online (Sandbox Code Playgroud)
还有我的test.py:
from django.test import TestCase
from mysite.myapp.models import Supplier, SupplierForm
class SupplierTest(TestCase):
def test_supplier(self):
supplier = Supplier(name="SomeSupplier")
supplier_form = SupplierForm(instance = supplier)
self.assertEquals(supplier_form.is_valid(), True)
Run Code Online (Sandbox Code Playgroud)
当我通过manage.py开始测试时,is_valid()总是返回False,但我期望True.
在这种情况下,失败的原因是什么?is_valid()?我使用Django 1.3.
我开始阅读JavaScript:The Good Parts一书,并在第一页(如果确切地说是7和9)被铁路图弄得混乱.
有名称和字符串文字的图表.(你可以在这里看到图表)
我知道JavaScript中的名称可以从字母开始,也可以用下划线或"$"符号开头.按照书的图表,它只能从字母开始.
对于字符串文字,假设您想要表示字符串:"\\".
在图表之后,它是不可能的(似乎在"转义字符"之后,"除了"之外的任何unicode字符和\和contol"是必需的.
这些是书中的错误吗?或者我想念什么?
我有以下代码:
struct B
{
//B() {}
int x;
int y;
};
void print(const B &b)
{
std::cout<<"x:"<<b.x<<std::endl;
std::cout<<"y:"<<b.y<<std::endl;
std::cout<<"--------"<<std::endl;
}
int main()
{
B b1 = B(); //init1
B b2; //init2
print(b1);
print(b2);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
当我启动程序(vs2008,调试)时,我有以下输出:
x:0
y:0
--------
x:-858993460
y:-858993460
--------
Run Code Online (Sandbox Code Playgroud)
如您所见,b1.x和b1.y的值为0.为什么?init1和init2有什么区别?
当我取消注释B构造函数时,我有以下输出:
x:-858993460
y:-858993460
--------
x:-858993460
y:-858993460
--------
Run Code Online (Sandbox Code Playgroud)
有人可以解释这种行为的原因吗?Tnx提前.
asp.net-mvc ×1
c# ×1
c++ ×1
clr ×1
constructor ×1
django ×1
django-forms ×1
finalizer ×1
javascript ×1
perforce ×1
unit-testing ×1
validation ×1