創建WCF項目時,默認成員文件只是普通的csharp類文件,而不是svc文件。 WCF項目需要svc文件嗎?他們什麼時候應該使用?SVC文件和WCF項目之間的關係?
23
A
回答
32
15
類的老問題,但讓Google ..
其實,這是可以創建一個WCF項目,並將其駐留在IIS中不使用.svc文件。
而是在你的SVC實現您DataContract代碼隱藏的,你實現它在一個正常的cs文件(即沒有後面的代碼。)
所以,你將有一個MyService.cs這樣的:
public class MyService: IMyService //IMyService defines the contract
{
[WebGet(UriTemplate = "resource/{externalResourceId}")]
public Resource GetResource(string externalResourceId)
{
int resourceId = 0;
if (!Int32.TryParse(externalResourceId, out resourceId) || externalResourceId == 0) // No ID or 0 provided
{
WebOperationContext.Current.OutgoingResponse.StatusCode = HttpStatusCode.NotFound;
return null;
}
var resource = GetResource(resourceId);
return resource;
}
}
然後來這件事使這成爲可能。現在,你需要創建一個Global.asax與代碼隱藏在其中添加一個Application_Start事件掛鉤:這個
public class Global : HttpApplication
{
void Application_Start(object sender, EventArgs e)
{
RegisterRoutes();
}
private void RegisterRoutes()
{
// Edit the base address of MyService by replacing the "MyService" string below
RouteTable.Routes.Add(new ServiceRoute("MyService", new WebServiceHostFactory(), typeof(MyService)));
}
}
的好處之一是,你不必處理的.svc在您的資源的URL。一個不太好的是你現在有一個Global.asax文件。
18
如果您使用的是.NET 4.0或更高版本,您現在可以通過配置「模擬」了.svc有以下幾點:
<system.serviceModel>
<!-- bindings, endpoints, behaviors -->
<serviceHostingEnvironment >
<serviceActivations>
<add relativeAddress="MyService.svc" service="MyAssembly.MyService"/>
</serviceActivations>
</serviceHostingEnvironment>
</system.serviceModel>
那麼你並不需要一個物理.svc文件也不是全局的.asax
+1
在這個問題可以.svc和global.asax文件被視爲「棄用」? – 2016-03-01 10:05:20
相關問題
- 1. 「app.config」和「user.config」文件之間的關係?
- 2. Maven項目之間的依賴關係
- 3. 項目之間的Qt依賴關係
- 4. Maven,項目之間的依賴關係
- 5. WCF項目設置和依賴關係
- 6. 包語句和.java文件的目錄之間的關係?
- 7. virtualenvwrapper中的環境和項目之間的關係是什麼?
- 8. Nerddinner項目中的用戶和晚餐之間的關係
- 9. XCode3 - 庫搜索路徑和項目之間的關係框架
- 10. VS中裝配和項目之間的關係
- 11. 差異QML窗口和項目之間的父子關係
- 12. Rails 3類別,子類別和項目之間的關係
- 13. Gradle + Buildship - 切換JAR和項目之間的依賴關係
- 14. Quartus項目中ieee和floatfixlib vhdl庫之間關係的描述
- 15. Silverlight插件和mvc項目之間的通信,不使用WCF
- 16. 解決C#和C++/CLI項目之間的循環項目依賴關係?
- 17. Eclipse .classpath文件和build.xml文件之間的關係是什麼?
- 18. SOA,RPC和項目間依賴關係
- 19. 如何在Jar和項目之間創建依賴關係?
- 20. xcode兩個項目之間的目標依賴關係
- 21. 包語句與.go文件的目錄之間的關係
- 22. WCF:如何在一個單獨的項目到.SVC合同,並實現文件
- 23. OData,Atom,Json和WCF數據服務之間的關係
- 24. 2 Svc文件,1個項目,都返回相同的文件
- 25. 禁止瀏覽WCF svc文件?
- 26. 將參數添加到WCF .svc文件
- 27. Tensorflow:.ckpt文件和.ckpt.meta和.ckpt.index和.pb文件之間的關係是什麼
- 28. 關於頭文件和執行文件之間的關係感到困惑
- 29. 訪問項目之間的文件Eclipse
- 30. 項目之間的C++頭文件
我還可以託管我的服務? – 2010-01-21 23:02:25
想到的三個是:您編寫的自定義主機,您購買的第三方提供的主機或Windows服務。 http://msdn.microsoft.com/en-us/library/bb332338.aspx – Cheeso 2010-01-21 23:44:25